1
A
ответ
4
Попробуйте это:
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} ^/(images/|css/|js/)
RewriteRule . - [S=2]
RewriteRule ^([a-z0-9_\-\.]+)/?$ index.php?page=$1 [L,NC,QSA]
RewriteRule ^([a-z0-9_\-\.]+)/([a-z0-9_\-\.]+)/?$ index.php?page=$1&item=$2 [L,NC,QSA]
Убедитесь mod_rewrite это позволит
редактировать: я добавил точку , у пула была хорошая точка.
Флаг [S] используется для пропуска правил, которые вы не хотите запускать. Это можно рассматривать как инструкцию goto в вашем наборе правил перезаписи. В следующем примере мы хотим только запустить RewriteRule, если запрошенный URI не соответствует фактическому файлу.
Я думаю, вам нужно '/' в начале регулярных выражений после карат? Кроме того, я был бы склонен сопоставлять только '[^ /] +', чтобы он не ломался, когда кто-то ставил точку в имени портфолио и т. Д. – poolie
Вы можете добавить '/' в начале, но я лично предпочитаю использовать «RewriteBase /». Поэтому, если вам нужно добавить правила, это проще. Я согласен со второй частью, хотя мне не нравятся символы, отличные от '-',' _', '.' в URL-адресе. –
Интересно. Я не думал, что это именно то, для чего это предназначалось, но я думаю, это работает ... – poolie