У меня есть следующие правила, которые работают:
- действует только на файлы, которые существуют
- исключить любые файлы, которые содержат изображения | js | css в их uri
- добавить косую черту для запроса uri
Переписать правила:
RewriteEngine on
DirectorySlash Off
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/(images|js|css)$
RewriteRule ^(.*[^/.])$ /$1/ [R=301,L]
Теперь мне нужно правильно перенаправить мой домашний адрес Uri следующим образом:
http://www.example.com/sitemap/
-> http://www.example.com/index.php?page=sitemap
Я пробовал следующий подход:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/.])$ index.php?page=$1 [R=301,L,NC]
Но я получаю страницу, не найденную, предположительно, потому что за 1 доллар подается что-то с косой чертой. Я думал, что [^/]
удалит его, но, очевидно, нет.
Может кто-нибудь объяснить, где я здесь не так, пожалуйста?