![]() ![]() |
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 |
|
|
|
![]() ![]() |
|
Aktualny czas: 24.12.2025 - 03:23 |