我正在尝试从一个URL重定向到另一个。第一个URL包含GET值(/product/category/name/something-123/?a=1&b=2),应该省略。重定向后,我在新的URL(https://example.com/category/asdf.html/?a=1&b=2)中包含所有GET值-如何在重定向期间跳过所有GET值?
我的代码:
Redirect 301 /product/category/name/something-123 https://example.com/category/asdf.html
1条答案
按热度按时间laawzig21#
要完全删除查询字符串,需要使用mod_rewrite(
RewriteRule
)而不是mod_alias(Redirect
)。QSD
标志丢弃原始查询字符串(需要Apache 2.4)。Redirect
指令中),这就是为什么在请求带有尾部斜杠的URL时,重定向的URL上会出现额外的斜杠(如示例中所示)。Redirect
指令是前缀匹配的,匹配后的所有内容都被复制到目标URL的末尾。在上面的例子中,我已经在请求的URL上设置了可选的尾部斜杠。
请注意,在测试之前,您需要清除浏览器缓存。请先使用302s进行测试,以避免潜在的缓存问题。