设置301重定向后全部跳转至错误首页的问题排查求助
问题原因分析
- 规则执行顺序与正则匹配范围问题:
RedirectMatch是Apache的正则式重定向指令,规则按配置顺序自上而下匹配,一旦匹配到就停止执行后续规则。你第一条规则中的/cards/corporate会匹配所有以该字符串开头的请求路径,比如/cards/corporate/contactus、/cards/corporate/viewcard/506这些子路径都会被这条规则优先命中,直接跳转到首页,后续更具体的规则根本没有执行机会。 - 缺少精确匹配的边界约束:如果第一条规则仅需匹配
/cards/corporate这个精确路径(而非所有子路径),需要给正则表达式加上开头^和结尾$的边界符,修改为:
加上边界符后,这条规则就只会匹配完全符合RedirectMatch 301 ^/cards/corporate$ https://corporate.ojolie.com/home/cards/corporate的路径,不会干扰后续子路径的重定向规则。
内容的提问来源于stack exchange,提问作者John2
相关产品推荐
相关产品推荐

