#php #apache #.htaccess #mod-rewrite #get
#php #apache #.htaccess #мод-перезапись #получить
Вопрос:
В настоящее время у меня есть эта строка в моем файле .htaccess:
RewriteRule ^(20dd)/([A-Za-z0-9-] )/$ /test/?type=postamp;year=$1amp;title=$2 [L]
Это позволяет использовать URL-адрес, подобный этому:
/test/?type=postamp;year=2014amp;title=hello
для доступа следующим образом:
/test/2014/hello/
Однако иногда у меня есть даже другая переменная GET для перезаписанного URL:
/test/2014/hello/?page=2
Однако переменная get page
не считывается файлом PHP на странице. Итак, другими словами, как я могу изменить свой файл .htaccess, чтобы другие переменные get (добавленные в переписанный URL) могли использоваться и считываться файлом PHP?
Ответ №1:
Вам нужно добавить флаг QSA в ваше правило перезаписи, чтобы скобки выглядели так:
[L,QSA]
Это говорит apache добавить любую существующую строку запроса к новой строке запроса в цели (mode= allBrands).
больше информации там: https://cwiki.apache.org/confluence/display/HTTPD/RewriteFlags QSA
Комментарии:
1. Неработающая ссылка: cwiki.apache.org/confluence/display/HTTPD/RewriteFlags QSA