Apache переписать правило с параметрами? - PullRequest
14 голосов
/ 10 октября 2009

У меня есть следующий URL:

http://domain.com/index.php?m=feedback&cSubject=My Subject

Я хочу иметь правило перезаписи, чтобы следующее:

http://domain.com/feedback?Subject=My Subject

отображается на предыдущий URL. Вот мое правило на данный момент:

RewriteRule ^feedback?Subject=(.*)$ index.php?m=feedback&cSubject=$1

Кажется, не работает! Есть идеи?

Ответы [ 3 ]

19 голосов
/ 10 октября 2009

Строки запроса не анализируются Apache Mod_Rewrite, но есть обходной путь. Попробуйте это

RewriteRule ^feedback/?$ index.php?m=feedback&c%{QUERY_STRING} [NC,L]
6 голосов
/ 08 марта 2013

Вы можете использовать инструкцию RewriteCond, чтобы делать именно то, что вы хотите:

RewriteEngine On

RewriteCond %{QUERY_STRING} Subject=(.*)
RewriteRule ^feedback$ index.php?m=feedback&cSubject=%1 [L]
0 голосов
/ 27 апреля 2016

Кажется, что есть = отсутствует в ответе clops, чтобы дать ..

RewriteRule ^feedback/?$ index.php?m=feedback&c=%{QUERY_STRING} [NC,L]

.. по крайней мере мне нужен один, чтобы он заработал.

...