重写后从URL中删除query_string

时间:2011-03-08 22:57:43

标签: regex .htaccess mod-rewrite

我有以下......

RewriteCond %{QUERY_STRING} ^PageId=9523&contentURL=10$
RewriteRule ^master_template\.aspx$ community/returned-volunteers/stay-involved [R=301,L]

这有效(有点)......

而不是www.example.com/master_template.aspx?PageId=9523&contentURL=10

我最终得到www.example.com/community/returned-volunteers/stay-involved?PageId=9523&contentURL=10

我想要的网址是www.example.com/community/returned-volunteers/stay-involved

2 个答案:

答案 0 :(得分:0)

解决方案是在重写规则的末尾添加问号

RewriteRule ^master_template\.aspx$ community/returned-volunteers/stay-involved? [R=301,L]

答案 1 :(得分:0)

Remove the QUERY_STRING from the URL

清理

解决这个问题的解决方案非常简单,所以,你只需要一个角色。怎么做?具有讽刺意味的是,问号就是答案。您只需通过在替换后添加问号来修改原始规则,以便/变为/?

rewriterule ^ oldpage.php $ /? [R = 301,L]

现在,这将重写oldpage到站点根目录并清除查询字符串,以便您有一个很好的,干净的重写。问题是答案!