我之前已经问过mod_rewrite并得到了完美的答案,但是现在我需要做一些更复杂的事情,真的需要一个更了解mod_rewrite的人的建议。
到目前为止,我的重写规则看起来像这样:
RewriteRule ([a-zA-Z_-]+)/([0-9]?) index.php?cat=$1&page=$2
这会显示以下网址:/categoryname
并显示/categoryname/1/
等网页。
但我真的想修改规则以使用子类别,例如/categoryname/subcategoryname/
,并且仍然可以使用页面系统(subcat/2/
),但我似乎无法绕过头脑此
如果您在主要类别等,则需要忽略子猫重写。
希望有人可以帮助我。
答案 0 :(得分:1)
RewriteRule [a-zA-Z_-]+/([a-zA-Z_-]+)/([0-9]?) index.php?cat=$1&page=$2 [L]
RewriteRule ([a-zA-Z_-]+)/([0-9]?) index.php?cat=$1&page=$2 [L]
答案 1 :(得分:0)
我会使用这些规则:
RewriteRule ^([a-zA-Z_-]+)/([a-zA-Z_-]+)/(([1-9][0-9]*)/)?$ index.php?cat=$1&subcat=$2page=$4
RewriteRule ^([a-zA-Z_-]+)/(([1-9][0-9]*)/)?$ index.php?cat=$1&page=$3
使用开头(^
)的断言和字符串的结尾($
),不会有意外应用其中一条规则的歧义。 (([1-9][0-9]*)/)?
部分用于可选的分页。