Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> htaccess - dziwne zachowanie, htaccess, błąd 404, nie znaleziono obiektu gdy pierwsza litera 'l&
motylo
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 5
Dołączył: 13.07.2008
Skąd: Kalisz

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


Witam,

Mam dosyć dziwny problem z zachowaniem .htaccess. Wpierw wprowadzenie:

1. Struktura katalogu:
Kod
\public
\private
.htaccess
index.php

gdzie public jest katalogiem publicznym, private - katalog prywatny (całkowicie zabroniony dostęp przez przeglądarkę)

2. Plik .htaccess
Kod
RewriteEngine on
RewriteBase /test/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^(/public/)].*)$ index.php?q=$1 [QSA]

Jak widać wszystko co nie istnieje (poza katalogiem public) jest przekazywane w query stringu do pliku index.php.

Teraz zaczyna się problem:

- Dotychczas wszystko działało i nie zauważyłem problemów, aż nie zrobiłem przekierowania do login.html - adres: http://127.0.0.1/test/login.html
- Pojawił mi się błąd 404 (nie znaleziono obiektu).
- Aktualnie obojętnie co przekaże przez URI przechodzi do pliku index.php oprócz, UWAGA!: wszystkiego co zaczyna się na literę 'l' (małe L).
- Jeżeli przekaże LOGIN.html działa, jeżeli napiszę login, lizak, lubie, l*.html nie.

W tym momencie wymiękłem, innych plików .htaccess nie mam, w pliku konfiguracyjnym apache'a nic nie zauważyłem.

-------------------------------------------------

Mój błąd, i to poważny.

Rozwiązanie:

Bawiąc się odkryłem że nie mogą się zaczynać jeszcze na: u,i,o,p,u,b czyli public (IMG:style_emoticons/default/winksmiley.jpg)
Z tego co wyszperałem w htaccess nie może być takiego grupowania jak w regexp (w nawiasach okrągłych).

Kod
RewriteEngine on
RewriteBase /test/

RewriteRule ^public/(.*)$ /public/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
#
#skasowano
#
#RewriteRule ^([^(/public/)].*)$ index.php?q=$1 [QSA]
#
# i dodano
#
RewriteRule ^(.*)$ index.php?q=$1 [QSA]


Wymagane jest przekierowanie na public po to by wiedzieć że jakiś publiczny plik nie działa.
Moderatora proszę o zamknięcie.

Ten post edytował motylo 14.08.2009, 12:13:52
Go to the top of the page
+Quote Post

Posty w temacie
- motylo   htaccess - dziwne zachowanie   14.08.2009, 12:13:17


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: 24.12.2025 - 15:26