我有一组符合以下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。
有没有办法做到这一点?
答案 0 :(得分:9)
您正在寻找QSA,查询字符串追加
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_URI} ^/([0-9]+)\-(.+)\.html
RewriteRule ^(.*)$ /product/index.php?prod=%1-%2 [L,QSA]
答案 1 :(得分:2)
添加QSA标志以传递现有的查询字符串参数
RewriteRule . /product/index.php?prod=%1-%2 [QSA,L]
也编辑匹配为。和^。* $在这种情况下是等价的