htaccess一切除了尾随/

时间:2011-06-21 14:46:27

标签: regex .htaccess

我有一条规则可以使用此网址并正确处理。

RewriteRule ^category/([a-zA-Z0-9-z\-]+)/([a-zA-Z0-9-z\-]+)$ category.php?page=category&subPage=$1&pitem=$2

mysite.com/category/phones/htc-desire

问题是如果网址最终是

mysite.com/category/phones/ 

规则只会查找不存在的页面。

我需要做的是在规则中使用“任何非空的页面”。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

这应该有效:

RewriteRule ^category/([a-zA-Z0-9\-]+)/([a-zA-Z0-9\-]*)$ category.php?page=category&subPage=$1&pitem=$2
正则表达式组末尾的“+”量词表示“1或更多”,而“*”表示完全是可选的。

答案 1 :(得分:0)

如何计算,只显示所有类别项目:

# No phone selected
RewriteRule ^category/([a-zA-Z0-9-z-]+)/?$ category.php?page=category&subPage=$1&pitem=all

# Phone selected
RewriteRule ^category/([a-zA-Z0-9-z-]+)/([a-zA-Z0-9-z-]+)/?$ category.php?page=category&subPage=$1&pitem=$2