我正在使用 .htaccess 将流量隧道传输到我的 index.php。以下是我正在使用的线路之一:
RewriteRule ^page/([0-9]*)$ /index.php?&page=$1
我想要的是只允许数值和单词 'all'。所以正则表达式应该匹配:
- 页/1
- 页/15
- 页/全部
如何实现对这两个值的匹配?一个简单的解决方案是 ([0-9al]*),但这并不完美,因为它还允许使用 'al9'、'lalalala' 等值。谢谢!
我正在使用 .htaccess 将流量隧道传输到我的 index.php。以下是我正在使用的线路之一:
RewriteRule ^page/([0-9]*)$ /index.php?&page=$1
我想要的是只允许数值和单词 'all'。所以正则表达式应该匹配:
如何实现对这两个值的匹配?一个简单的解决方案是 ([0-9al]*),但这并不完美,因为它还允许使用 'al9'、'lalalala' 等值。谢谢!
[0-9]*
也匹配零数字,您必须使用 + 而不是 *
要添加“全部”,请使用管道:
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]*
方法:
您可以使用:
RewriteRule ^page/((?!0+$)[0-9]+|all)/?$ /index.php?page=$1 [L,QSA,NC]
这也将避免重写/page/0
/page/00
等