Как передать параметры GET на переписанный URL?

13

У меня есть .htaccessправило переписать, как это:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1

Что это делает, если кто-то посещает http://example.com/search/testURI, который действительно обрабатывается http://www.example.com/search.php?q=test.

Теперь, если я попытаюсь передать дополнительный случайный параметр GET моему переписанному URL-адресу, этот параметр игнорируется. Так что, если я попытаюсь сделать это здесь:

http://www.example.com/search/whatever?extra=true

Параметр extraигнорируется. Это, кажется, не проходит вообще.

Можно ли решить эту проблему? Если так, то как?

Джейк Уилсон
источник

Ответы:

14

Вы ищете Query SТринга Aфлаг ppend - например ,

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1 [QSA]

Смотрите mod_rewriteдокументацию для полного описания флагов RewriteRule.

danlefree
источник
Ах, хорошо! Я знал, что было что-то подобное. Я .htaccessнуб.
Джейк Уилсон
Есть ли способ добавить QSA ко всем правилам
hakkikonu
Привет @danlefree Знаю, что это старый вопрос, но при использовании Wamp, когда я делаю это, все мои таблицы стилей, скрипты и т. Д. Теряют ссылку. как я могу решить это?
DannyGM