在301重定向期间删除查询字符串

时间:2012-05-23 19:17:11

标签: .htaccess mod-rewrite redirect

我正在尝试301以下网址

http://www.site.com/reviews/4f64d2862c16bf4ae40000b4?sort=all-positive 

http://www.site.com/reviews

使用

RewriteRule ^reviews/([a-fA-f0-9]+)?$ http://www.site.com/reviews [L,R=301]

但是那会将我重定向到

http://www.site.com/reviews?sort=all-positive

如何在审核ID之后删除所有查询字符串?基本上问号和它后面的一切都需要去。有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

你必须使用这个RewriteRule:RewriteRule ^reviews/([a-fA-F0-9]+)?$ http://www.site.com/reviews/$1? [L,R=301] $ 1将id放在url的末尾,“?”删除查询。

我也将“A-f”改为“A-F”,但我不认为这是必要的。

修改 在SO中已经存在类似的问题:mod_rewrite: remove query string from URL?