Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekierowanie domy na katalog (.htaccess)
404
post
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Witam.
Mam problem z przekierowaniem domeny na dany katalog. Przeszukałem kilkanaście stron, ale wszędzie metoda jest praktycznie taka sama, a rozwiązania mojego problemu... nie ma (albo źle szukam (IMG:style_emoticons/default/smile.gif) )

Przykładowy kod z home.pl:
Kod
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.pl$ [NC]
RewriteCond %{REQUEST_FILENAME} !/katalog/
RewriteRule ^(.*)$ /katalog/$1 [L]
https://pomoc.home.pl/bazawiedzy/akademia/278

Wszystko jest ok, po przejściu na domena.pl wyświetla się zawartość katalogu katalog itd. Mój problem polega na tym, że po przejściu na adres: domena.pl/katalog/ strona... też się pojawia. Chciałbym żeby po wpisaniu takiego adresu serwer zwrócić 404. Tzn. wydaje mi się, że tak powinno być i może i wiem dlaczego tak się dzieje, ale nie mam pomysłu jak to obejść.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Uriziel01
post
Post #2





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Hmmm nie wiem czy dobrze rozumiem twój problem, ale czy chodzi o to że dla fizycznie istniejących plików/katalogów te reguły także działają ?
Jeżeli tak, to rozwiążesz to kodem w stylu:
Kod
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d


Jeżeli problem tkwi w czymś innym to wyjaśnij go troszkę dokładniej a z pewnością coś zaradzimy (IMG:style_emoticons/default/smile.gif)

Ten post edytował Uriziel01 18.10.2012, 22:37:27
Go to the top of the page
+Quote Post
404
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Kod
/
|-- cgi-bin
|-- static
     `-- index.html
|-- cms
|-- test
`-- .htaccess

W katalogu / wrzucam do .htaccess:
Kod
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domena\.pl$ [NC]
RewriteCond %{REQUEST_FILENAME} !/static/
RewriteRule ^(.*)$ /static/$1 [L]

Wchodząc na adres domena.pl wyświetla się index.html z katalogu static - OK.
Wchodząc na adres domena.pl/test serwer rzuca 404 - OK.
Wchodząc na adres domena.pl/static serwer NIE rzuca 404 tylko wyświetla się plik index.html z katalogu static - FAIL! Wydawało mi się, że zapytanie będzie wyglądało tak: "(...)/static/static/", ale wygląda na to, że serwer wyrzuca "(...)/static/". Poza tym, to grozi przecież "Duplicate content", poza tym ten static w adresie nie wygląda za dobrze.

Ten post edytował 404 18.10.2012, 23:07:08
Go to the top of the page
+Quote Post
Uriziel01
post
Post #4





Grupa: Zarejestrowani
Postów: 307
Pomógł: 37
Dołączył: 9.11.2010
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Aaaa, teraz rozumiem (IMG:style_emoticons/default/biggrin.gif)

Np. przez taką małą regułę umieszczoną w /static/.htaccess

Kod
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(.*)$ [R=404,L]


uniemożliwi to bezpośredni dostęp do plików umieszczonych w static.

Ewntualnie tak:

Kod
RewriteCond %{THE_REQUEST} static
RewriteRule ^(.*)$ [R=404,L]


(IMG:style_emoticons/default/smile.gif)

Ten post edytował Uriziel01 18.10.2012, 23:32:42
Go to the top of the page
+Quote Post
404
post
Post #5





Grupa: Zarejestrowani
Postów: 226
Pomógł: 25
Dołączył: 22.05.2011

Ostrzeżenie: (0%)
-----


Ok, trochę mnie tu nie było (IMG:style_emoticons/default/tongue.gif) W każdym razie dzięki za odpowiedź - Twoje rozwiązanie działa ok.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 16:32