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

htaccess配置RedirectMatch正则匹配含斜杠路径实现301重定向

解决方法

你现有规则的核心问题有两个:

  1. 两条规则分别只匹配/es/和/en/前缀的路径,没有覆盖你需要的所有场景,且正则没有处理路径中间无内容的场景(比如/es/product1这种没有中间路径的地址)
  2. 没有添加结尾锚定,可能会意外匹配到包含product1但不是结尾的路径(比如/es/category/product123)

如果需要同时匹配/es/和/en/两种前缀,且前缀和product1之间可以是任意内容(包括空、带斜杠的多级路径),直接用下面的规则即可:

RedirectMatch 301 ^/(es|en)/.*product1$ https://domain.es/category/product1

如果需要严格限制product1是独立的路径段(避免匹配到/es/category/myproduct1这类路径),可以调整为:

RedirectMatch 301 ^/(es|en)/(.*)/?product1$ https://domain.es/category/product1

规则里的(.*)本身就支持匹配包含斜杠、字母的任意字符,/?用来兼容前缀后直接跟product1的场景,不会因为缺少中间斜杠导致匹配失败。

补充说明

如果后续你需要把前缀和product1之间的路径动态带到目标地址(比如/es/foo/bar/product1跳转到domain.es/foo/bar/product1),可以直接引用捕获组:

RedirectMatch 301 ^/(es|en)/(.*)/?product1$ https://domain.es/$2/product1

配置修改后记得清空浏览器缓存再测试,301重定向会被浏览器长期缓存,用无痕模式测试结果更准确。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:27:03