GET mod_rewrite之后的variables

我有一组符合以下htaccess规则的产品页面:

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

将其重写为:example.com/123-1234.html。

我的问题是,我不能再传递额外的$ _GETvariables的页面 – IE浏览器:example.com/123-1234.html?coupon=something123。

有没有办法做到这一点?

您正在寻找QSA,查询字符串追加

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

添加QSA标志来传递现有的查询字符串参数

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

也编辑为匹配。 和^。* $在这种情况下是等价的