.htaccess mod_rewrite с окончательной косой чертой - PullRequest
0 голосов
/ 08 ноября 2011

Мой файл .htaccess выглядит так:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/$ ?action=$1 [QSA,L]

Это работает нормально, если я заканчиваю все свои URL-адреса /. Например http://localhost/test/test2/test3/. Но если я забываю поставить / в конце, я получаю не найденную ошибку ... Я пытался настроить это правило перезаписи, но не могу заставить его работать в обоих направлениях (с финальной частью и без нее /).

Есть идеи?

1 Ответ

2 голосов
/ 08 ноября 2011

Сделайте это необязательным с помощью оператора ?:

RewriteRule ^(.*)/?$ foo.php?action=$1 [QSA,L] 

... или просто полностью удалите, поскольку вам это вообще не нужно:

RewriteRule ^(.*)$ foo.php?action=$1 [QSA,L] 

... или даже:

RewriteRule ^ foo.php?action=$0 [QSA,L] 
...