【发布时间】:2010-07-17 11:52:52
【问题描述】:
我正在使用 apache,我需要重写 URL 类型:
/a/b/c/d/boundary/stuff*
到:
/boundary/a_b_c_d/stuff*
我需要将第一个 Uri 重写为第二种格式。
'/boundary' 之前的元素数量是可变的,我想用 '_' 替换元素之间的所有斜线('/')
边界词总是一样的。
我认为我需要制定两条规则,一条用于斜线替换,另一条用于将边界更改为 URL 的开头:
我认为第二条规则类似于 ^/(.*?)/\bboundary\b 到 /boundary/$1
有没有可能实现我想要的?!
怎么样?!
谢谢。
编辑
我想匹配到第一个边界词, 可以有一个像
这样的 URL/a/b/c/d/边界/边界
编辑
秋葵谢谢你的帮助
根据您的重写规则,我设法创建了一个。
【问题讨论】:
-
边界之前的元素数量是无限的还是最多 n 级深。如果你知道只有 n 个级别,那么编写 n 个正则表达式可能会简单得多。
标签: regex apache mod-rewrite