htaccess: Почему это не работает? - PullRequest
1 голос
/ 25 июня 2009

Я получаю страницу с ошибкой 404 при попытке выполнить следующее правило в htaccess:

RewriteRule ^Test\?service=(.*) test.php?foo=$1 [NC,L]

Как получилось?

Я знаю, что лучше использовать что-то вроде ^ Test /(.*) test.php? Foo = $ 1 [NC, L] , но в этом случае я бы предпочел это так Я заявил.

Заранее спасибо.

1 Ответ

1 голос
/ 25 июня 2009

RewriteRule проверяет только URL-путь . Но запрос (часть от первого ? до первого #) не является частью пути URL. Это можно проверить только с помощью директивы RewriteCond :

RewriteCond %{QUERY_STRING} ^service=(.*)
RewriteRule ^Test$ test.php?foo=%1 [NC,L]
...