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

如何通过RewriteRule移除URL中含未知变量的多级目录

解决Rewrite规则不生效的问题

原规则的问题

你写的正则^gallery/(.*)$/(.*)$存在两个核心错误:

  • $是正则的字符串结束锚点,不能放在URL路径中间,这会导致正则无法匹配gallery/{WILDCARD}/gallery-name这种中间还有路径的URL
  • 捕获组对应错误,你要保留的是最后一段gallery-name,但原规则里用了/$1,对应第一个捕获组(也就是{WILDCARD}部分),完全不符合需求

正确的Rewrite规则

把规则改成下面这样即可:

RewriteRule ^gallery/[^/]+/(.*)$ /$1 [L,NC,R=302]

规则说明

  • ^gallery/:匹配URL开头的gallery/部分
  • [^/]+:匹配中间的任意非斜杠字符(也就是你说的{WILDCARD},用[^/]+比.*更精准,避免过度匹配)
  • /(.*)$:匹配最后一段路径(即gallery-name),并把这部分捕获到第一个捕获组$1里
  • [L,NC,R=302]:L表示这是最后一条规则,NC表示忽略大小写,R=302表示临时重定向

如果需要永久重定向(比如SEO需求),把R=302改成R=301即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 19:01:20