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

Apache RedirectMatch正则:忽略含指定关键词的URL重定向

Apache RedirectMatch 排除含特定关键词路径的配置方案

你原有规则的问题出在负向预查的锚定逻辑错误:加了$限定connect必须出现在路径末尾才会触发排除,自然无法覆盖connect后带子路径的场景。
直接替换为如下配置即可实现「只要/en/路径下包含connect关键词就跳过跳转,其余/en/路径正常301跳转」的需求:

<If "%{HTTP_HOST} == 'domain-one.com'">
    RedirectMatch 301 ^/en/(?!connect(/.*)?$)(.*)$ https://domain-two.com/en/$2
</If>

正则逻辑说明

  • ^/en/:保留原有规则的匹配范围,仅对域名下/en/开头的路径做跳转判断
  • (?!connect(/.*)?$):负向预查逻辑,只要/en/后第一段路径为connect,无论connect后是否携带子路径(比如/en/connect、/en/connect/page1、/en/connect/user/auth这类路径),都会判定为匹配失败,不触发重定向
  • (.*)$:捕获符合跳转要求的路径后缀,自动拼接到目标域名对应路径后

如果后续需要新增排除的关键词,直接在负向预查段用|分隔关键词即可,例如要同时排除connect、login、public三个路径段,可将规则修改为:

RedirectMatch 301 ^/en/(?!(connect|login|public)(/.*)?$)(.*)$ https://domain-two.com/en/$3

内容的提问来源于stack exchange,提问作者user2074224

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 04:42:16