Как перенаправить URL, как это
http://example/foo/bar/
http://example/foo/bar
до
http://example/foo/bar.php
Вот мое правило перезаписи
RewriteRule ^(.*)$ $1.php
Работает с http://example/foo/bar, но если URL заканчивается косой чертой, возникает ошибка (Внутренняя ошибка сервера) Что делать, чтобы оба типа URL работали правильно?
Это потому, что / получил совпадение в группе. *, Поэтому вы звоните http://example/foo/bar/.php
Чтобы сделать обе работы, используйте:
RewriteCond %{REQUEST_URI} !\.php RewriteRule ^(.*)/?$ $1.php
РЕДАКТИРОВАТЬ: забудь, когда мы сначала спросим файл
Ну, если это действительно то, что вы хотите сделать, то:
RewriteRule ^(.*)/?$ $1.php
Я не проверял это, но я думаю, что это работает.