以下重定向导致附加“?start = 12”:
RedirectMatch 301 ^/products/10-blood?start=12$ http://www.example.com/blood/blood-product
如何防止这种情况发生?
最佳答案
在目标的末尾添加?
http://www.example.com/blood/blood-product?
但是,这样做可以使浏览器的位置栏中URL的末尾有一个
?
。解决此问题的唯一其他方法是使用mod_rewrite:RewriteEngine On
RewriteCond %{QUERY_STRING} ^start=12$
RewriteRule ^products/10-blood$ http://www.example.com/blood/blood-product? [L,R=301]
使用mod_rewrite时,
?
不会出现在末尾,但是它将出现在末尾,因此不会附加任何现有查询字符串。关于apache - 用于防止创建多个URL的htaccess语法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31749130/