mod_rewrite - переписать каталог в строку запроса, кроме /#!/

Я пытаюсь переписать www.domain.com/something/some/ на www.domain.com/index.php?q=something/some/

Это то, что я до сих пор:

RewriteCond %{REQUEST_FILENAME} ([a-z-]+)/?$
RewriteRule (.*) index.php?q=$1 [QSA,L]

Но я хочу исключить такие URL: www.domain.com/#!/something

Не могли бы вы помочь?

Спасибо Джон

1 ответ

Решение

Вы можете использовать это правило в корне.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?q=$1 [QSA,L]

Использование .+ также заботится о /#!/something так как Apache получит только / для этого как текст после # не достигает веб-сервера.

Другие вопросы по тегам