我有一堆未生成的 URL,我想将它们重定向到正确的 URL。
这是一个很好的例子:
http://example.com/search/?q=searchterm%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F&scope=45%2F%2F%2F%2F%2F/
我已经可以使用以下规则重定向它们中的大多数:
重写条件 %{QUERY_STRING} ^(.*)%2F 重写规则 ^search/$ /search/?%1 [NE,R=301,L]
据我了解,这仅有效,因为删除了尾随的“%2F”,然后规则再次命中。Google 只接受有限数量的重定向。
所以我尝试调整规则以处理 1 次或多次出现的“%2f”
这是我走了多远:
RewriteCond %{QUERY_STRING} ^(.*)((%2F)*) 重写规则 ^search/$ /search/?%1 [NE,R=301,L]
结果是:/search/?q=searchtermFFFFFFFFFFFFFFFF&scope=45FFFFF/
我错过了什么?
最好的问候,亚历山大