我有一组符合以下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]
也编辑为匹配。 和^。* $在这种情况下是等价的