Как перенаправить все запросы в index.php и сохранить другие параметры GET? - PullRequest
14 голосов
/ 07 марта 2011

Вот что у меня так далеко:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule .* index.php?url=$0 [L]

Но когда я иду к чему-то вроде /a?b=c и затем проверяю параметры GET, я получаю только a для url, иb потеряно.Как я могу сохранить это?

Ответы [ 2 ]

25 голосов
/ 06 февраля 2012

Как насчет использования директивы FallbackResource: «Определите URL-адрес по умолчанию для запросов, которые не сопоставляются с файлом»

<Directory /web/example.com/htdocs/blog>
    FallbackResource /index.php
</Directory>

Таким образом, вам не нужно вызывать модуль modRewrite при каждом запросе.

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource

17 голосов
/ 07 марта 2011
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule .* index.php?url=$0 [QSA,L]

Вам нужен QSA в вашем правиле перезаписи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...