You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

重定向规则中Regex因重复路径引发无限循环问题求助

解决重定向无限循环问题

问题分析

你的重定向规则出现无限循环,核心原因是第一条规则的源正则过于宽泛——只要URL中包含/destinations/就会被匹配,包括重定向后目标URL里的/destinations/,导致规则反复触发,最终生成嵌套的错误URL。

解决方案

修改第一条规则的源正则,让它仅匹配**域名后首次出现/destinations/**的URL,确保重定向后的URL不会被再次匹配。

修改后的规则

第一条规则的源改为:

Source ^https://www.example.com/(?:(?!/destinations/).)*destinations/(.*)
Target https://www.example.com/blog/travel/destinations/$1

正则说明

  • ^:锚定URL开头,确保从域名开始匹配
  • (?:(?!/destinations/).)*:非捕获组,匹配任意字符直到遇到第一个/destinations/,作用是确保当前匹配的/destinations/之前,路径中没有其他相同片段
  • destinations/(.*):匹配目标路径,并捕获/destinations/之后的所有内容到分组$1
  • 目标中的$1用来保留原URL中/destinations/之后的路径(比如japan),与优先级更高的规则兼容

为什么之前的负向预查无效

你之前使用的(?!.*/destinations/)位置错误,应该放在域名之后、/destinations/之前,用来检查前面的路径是否已包含/destinations/,而非其他位置。

验证效果

  • 访问https://www.example.com/destinations/japan时,优先级更高的规则会先触发,重定向到https://www.example.com/blog/travel/destinations/japan
  • 访问https://www.example.com/destinations/france这类未被特殊规则匹配的URL时,会被修改后的规则重定向到https://www.example.com/blog/travel/destinations/france,且该目标URL不会被第一条规则再次匹配(路径中/destinations/前已有相同片段),避免无限循环

内容的提问来源于stack exchange,提问作者chris-bigg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 18:42:53