以下重定向导致附加“?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/

10-13 05:45