我想重定向一下:
example.com/product-name-p12.html
(这是product_page.php?id = 12重写)
为:
www.example.com/product-name-p12.html
如果我正在使用此重写规则:
RewriteRule ^(.*)-p(.*).html$ product_page.php?id=$2&%{QUERY_STRING}
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
它重定向到www.example.com/product_page.php?id=12,而不是html版本。
非常感谢,
答案 0 :(得分:1)
撤消规则的排序并使用QSA
标记。 QSA
(查询字符串追加)标志在添加新查询参数时保留现有查询参数。
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NE]
RewriteRule ^(.*)-p(.*)\.html$ product_page.php?id=$2 [L,QSA]