我正在使用.htaccess将流量隧道传输到我的index.php。以下是我正在使用的其中一条线:
RewriteRule ^page/([0-9]*)$ /index.php?&page=$1
我想要的只是数字值,和“全部”一词。因此正则表达式应匹配:
如何才能对两个值进行匹配?一个简单的解决方案是([0-9al] *),但这并不完美,因为它也允许像'al9','lalalala'等值。谢谢!
答案 0 :(得分:3)
[0-9]*
也匹配零号,您必须使用+而不是*
要添加'all',请使用竖管:
RewriteRule ^page/([0-9]+|all)$ /index.php?&page=$1
禁止'0':
RewriteRule ^page/([1-9]{1}[0-9]*|all)$ /index.php?&page=$1
[1-9]{1}[0-9]*
表示:
答案 1 :(得分:1)
您可以使用:
RewriteRule ^page/((?!0+$)[0-9]+|all)/?$ /index.php?page=$1 [L,QSA,NC]
这也可以避免重写/page/0
/page/00
等