我有这种格式的网址
site.com/brochure/12/subcat/subcat/maincat
我的应用程序中字符串唯一重要的部分是直接在宣传册之后的数字
有时候会有很多subcat
个错误的目录,所以我不得不使用这些规则来使它工作
RewriteRule ^brochure/([^/]+)/([^/]+)/([^/]+)/?$ brochure.php?cat_path=$1
RewriteRule ^brochure/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ brochure.php?cat_path=$1
RewriteRule ^brochure/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ brochure.php?cat_path=$1
等等 - 有时最多有五种不同的规则允许不同的目录结构。
我猜这可以在一条规则中完成,任何人都可以分享他们的想法吗?
由于
答案 0 :(得分:3)
由于您在初始([^/]+)
之后不关心字符串的任何部分,为什么不使用以下内容:
RewriteRule ^brochure/([^/]+).*$ brochure.php?cat_path=$1
这会匹配并对您的12
进行分组,然后安静地匹配并丢弃字符串的其余部分(.*$
)。