Подтвердить что ты не робот

Как перенаправить все запросы в index.php и сохранить другие параметры GET?

Вот что у меня до сих пор:

RewriteEngine on

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

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

4b9b3361

Ответ 1

RewriteEngine on

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

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

Ответ 2

Как насчет использования директивы 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