Mod_rewrite пересылать все в параметры index.php - PullRequest
1 голос
/ 18 сентября 2010

Как я могу получить что-либо, кроме файлов для перезаписи в параметры index.php?Я использую apache, mod_rewrite и т. Д.

Ответы [ 2 ]

6 голосов
/ 18 сентября 2010

Если вы хотите переписать что-либо, что не является запросом обычного файла, я бы использовал это:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{DOCUMENT_ROOT}/index\.php -f
    RewriteRule ^(.*)$  /index.php?page=$1 [QSA]
</IfModule>

Таким образом, вам не нужно беспокоиться о привязке к определенному URLформат для ваших переписываний - вы можете проверить и действовать соответствующим образом в вашем сценарии подачи.

0 голосов
/ 18 сентября 2010

Попробуйте это:

RewriteRule /([^/]*)/([^/]*)/([^/]*)[^\.].*  /index.php?var1=$1&var2=$2&var3=$3 [R=301]

Это перенаправит URL как /foo/bar/baz на /index.php?var1=foo&var2=bar&var3=baz

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