![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam następujący problem. Mam stronę umieszczoną w katalogu "_site" dostępną pod domeną www.strona.pl Aby była dostępna z w/w adresu umieściłem w htaccess następującą formułę Kod RewriteCond %{HTTP_HOST} ^www\.strona\.pl$ [NC] RewriteCond %{REQUEST_FILENAME} !/_site/ RewriteRule ^(.*)$ /_site/$1 [L] - to działa bez zarzutu. Teraz chciałbym aby URL www.strona.pl/podstrona/ kierował na inny podkatalog niż "_site", np. "_subsite" ale tak by "_subsite" był katalogiem równorzędnym w strukturze z "_site" czyli w root mam 2 katalogi - _site i _subsite na _site kieruje www.strona.pl na _subsite kieruje www.strona.pl/podstrona Jeśli przed w/w wpisem umieszczę formułę: Kod RewriteCond %{HTTP_HOST} ^www\.strona\.pl$ [NC] RewriteCond %{REQUEST_URI} podstrona/(.*) RewriteRule ^(.*)$ /_subsite/index.php [L] to działa, z tym, że jak pewnie wiecie wszystkie pliki są przekierowywane na index.php czyli nie działają *.js, *.css i inne. Ale jeśli dam wpis Kod RewriteCond %{HTTP_HOST} ^www\.strona\.pl$ [NC] RewriteCond %{REQUEST_URI} podstrona/(.*) RewriteRule ^(.*)$ /_subsite/$1 [L] to serwer wywala błąd 500 Jeśli dodam linikę z {REQUEST_FILENAME}: Kod RewriteCond %{HTTP_HOST} ^www\.strona\.pl$ [NC] RewriteCond %{REQUEST_URI} podstrona/(.*) RewriteCond %{REQUEST_FILENAME} !/_subsite/ RewriteRule ^(.*)$ /_subsite/$1 [L] serwer wyrzuca błąd 404. Pewnie rozwiązanie jest trywialne ale jakoś nie ogarniam htaccess'a. Byłbym wdzięczny za pomoc w tym temacie. Z góry bardzo dziękuję Ponawiam prośbę o pomoc. Czy brak odpowiedzi spowodowany jest tym, że problem jest zbyt błahy? ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 15.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się, że może Ci nie działać dlatego, że w tej regule : RewriteRule ^(.*)$ /_subsite/$1 [L]
$1 odnosi się do całego dopasowania (bo chwytasz wszystko pomiędzy początkiem a końcem dopasowania) czyli jeśli regułka złapała : podstrona/123 to przekierowuje na _subsite/podstrona/123 ale dla pewności dobrze żeby to ktoś jeszcze potwierdził lub nie ![]() Może spróbuj dodać przed tą pierwszą regułą, która wyłącza css itp. RewriteCond %{REQUEST_URI} !\.(js|ico|gif|jpg|png|css)$ [NC] Ten post edytował justysia90 16.04.2013, 15:45:26 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
justysia90 dziękuję za pomoc, niestety chodziło właśnie o przekierowanie całości ruchu na inny katalog - łącznie z plikami dodatkowymi typu, jpg, js itd
Problem siedział gdzie indziej - oczywiście rozwiązanie prawie oczywiste... Reguła dla _site wykluczała regułę dla _subsite. Mimo, że na końcu pierwszej formuły jest flaga [L] nie wykluczyłem RewriteCond %{REQUEST_URI} !podstrona/(.*) dla drugiego przekierowania. W każdym razie poniższe działa. Kod RewriteCond %{HTTP_HOST} ^www\.strona\.pl$ [NC] RewriteCond %{REQUEST_URI} podstrona/(.*) RewriteCond %{REQUEST_FILENAME} !/_subsite/ RewriteRule ^(.*)$ /_subsite/$1 [L] RewriteCond %{HTTP_HOST} ^www\.strona\.pl$ [NC] RewriteCond %{REQUEST_URI} !podstrona/(.*) RewriteCond %{REQUEST_FILENAME} !/_site/ RewriteRule ^(.*)$ /_site/$1 [L] Chyba można temat zamknąć |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
zle przekierowanie robisz
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 13.05.2004 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Nieautoryzowani Postów: 50 Pomógł: 2 Dołączył: 28.05.2013 Ostrzeżenie: (0%) ![]() ![]() |
Podczępię się do tego tematu z własnym (podobnym) problemem.
Przeniosłem swoją stronę z głównego katalogu do podkatalogu, w głównym jest teraz index.php z header() i przekierowuje na katalog home/. Problem w tym, że po wpisaniu adresu http://strona.pl na pasku adres również zmienia się na http://strona.pl/home. Czy przy pomocy pliku .htaccess można to usunąć, by pomimo przekierowania na pasku był tylko adres strony głównej (i jakieś dalsze podstrony)? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.04.2025 - 05:58 |