[Apache] Banalny problem z RewriteRule

0

Witam. Próbuję uzyskać proste przepisywanie adresów. Jeśli serwer dostanie żądanie na example.com/test/cokolwiek, to ma zwracać wynik skryptu test.php z argumentem GET np. action=cokolwiek. W każdej innej ścieżce ma zwracać index.php. Robię tak jak wydaje mi się na chłopski, prosty rozum:

RewriteRule ^test/(.*)$ test.php?action=$1 [L]
RewriteRule ^.*$ index.php [L]

Cały czas otrzymuję index.php, mimo że użyłem flagi L (ostatnia reguła). O co tutaj chodzi? Czego nie rozumiem?

pzdr

0

Nie mam pod ręką Apache'a żeby to sprawdzić, a od ładnych paru miesięcy nic w mod_rewrite nie robiłem, ale strzelę w ciemno: spróbuj dodać na początek .htaccess (rozumiem, że to właśnie tego używasz?):

RewriteBase /

No i mam nadzieję, że pamiętałeś o:

RewriteEngine On

? Zresztą, jakbyś nie pamiętał, to pewnie i index.php byś na oczy nie widział.

0

Tak, rozchodzi się o .htaccess.

RewriteEngine On
RewriteBase /

Pierwsze pominąłem we wcześniejszym poście, bo raczej oczywiste jeśli chcę używać rewrite'a. A co do RewriteBase, to nic to nie daje - nie o to tu zapewne chodzi.

pzdr

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0