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

如何修改.htaccess规则适配OLDNAME1/2转NEWNAME两种场景?

.htaccess规则:将多个旧名称重定向至同一新名称

原规则作用

原有规则可将URL中的OLDNAME替换为NEWNAME,同时自动移除URL末尾可能存在的-2字符串:

RewriteRule ^(index\.php/)?OLDNAME/(.+?)(?:-2)?/?$ /NEWNAME/$2 [L,NC,R=302,NE]

需求

需要将OLDNAME1和OLDNAME2两个旧路径,统一重定向到同一个NEWNAME路径下。

修正后的可用规则

你尝试的规则逻辑方向正确,可能是正则匹配细节导致失效,试试以下规则:

通用适配版

RewriteRule ^(index\.php/)?(OLDNAME1|OLDNAME2)/(.*?)(?:-2)?/?$ /NEWNAME/$2 [L,NC,R=302,NE]

严格匹配版(推荐)

若要避免匹配不必要的特殊字符,可使用更精准的版本:

RewriteRule ^(index\.php/)?(OLDNAME1|OLDNAME2)/([^/-]+)(?:-2)?/?$ /NEWNAME/$2 [L,NC,R=302,NE]

规则细节解释

  • (OLDNAME1|OLDNAME2):精准匹配两个旧名称中的任意一个
  • ([^/-]+):仅捕获/和-之外的字符,确保目标路径部分不会包含-2相关内容,避免匹配混乱
  • (?:-2)?/?$:可选匹配URL末尾的-2和斜杠,这部分不会被捕获到重定向路径中
  • 标记说明:L表示执行完此规则后停止后续规则处理;NC忽略URL大小写;R=302为临时重定向(需永久重定向可改为R=301);NE确保重定向后的URL不会被二次编码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 08:52:41