Получить переменную после mod_rewrite - PullRequest
2 голосов
/ 22 ноября 2011

У меня есть набор страниц продукта, которые подчиняются следующему правилу htaccess:

RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_URI} ^/([0-9]+)\-(.+)\.html
RewriteRule ^(.*)$ /product/index.php?prod=%1-%2 [L]

Что переписывает их на: example.com/123-1234.html.

Моя проблема в том, что я больше не могу передавать дополнительные переменные $ _GET на страницу - IE: example.com/123-1234.html?coupon=something123.

Есть ли способ сделать это?

Ответы [ 2 ]

9 голосов
/ 22 ноября 2011

Вы ищете QSA, Query String Append

RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_URI} ^/([0-9]+)\-(.+)\.html
RewriteRule ^(.*)$ /product/index.php?prod=%1-%2 [L,QSA]
2 голосов
/ 22 ноября 2011

Добавить флаг QSA для передачи существующих параметров строки запроса.

RewriteRule . /product/index.php?prod=%1-%2 [QSA,L]

Также отредактировано соответствие как.и ^. * $ эквивалентны в этом случае

...