0

这可能是重复的,我很抱歉。

我有点紧张,需要一些关于重写规则的帮助:

RewriteRule ^([a-zA-Z0-9_-]+)/?$ /index.php?name=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)?$ /index.php?name=$2 [L]
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)?$ /index.php?name=$3 [L]

这就是目前我们重写其中一个站点的方式——直到我们遇到一个具有 4 个级别的错误,例如 /about/company/people/dean。

我可以添加另一条规则来将第 4 级重写到索引页面 - 但是有没有很好的方法呢?

基本上,总体结果 - 当请求类型为 '/a/b/c/d/e/f/g' 的 url 时,它将重写为 '/index.php?name=g' - 或者最后一个url 中的元素。

4

1 回答 1

2

粘在弦锚的末端。它应该在之后捕获最后一个块/

RewriteRule .*/([a-zA-Z0-9_-]+)/?$ /index.php?name=$1 [L]
于 2013-05-24T10:18:38.810 回答