Як передати параметри 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]

Повний опис прапорів RewriteRule дивіться в mod_rewriteдокументації .


Ах приємно! Я знав, що є щось подібне. Я .htaccessноб.
Джейк Вілсон

Чи є спосіб додати QSA до всіх правил
hakkikonu

Привіт @danlefree Знаю, що це старе питання, але використовуючи Wamp, коли я це роблю, усі мої таблиці стилів, сценарії тощо втрачають посилання. як я можу це вирішити?
DannyGM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.