[英].htaccess regex issue
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]{1,3})\/([0-9])\.html$ thread.php?board=$1&thread=$2
这是我的.htaccess文件。 让我解释一下它应该如何工作:
website.com/vg/1337.html => website.com/thread.php?board=vg&thread=1337
换句话说:
website.com/x/y.html => website.com/thread.php?board=x&thread=y
x - 1-3 symbols, A-z, 0-9;
y - unlimited amount of symbols, 0-9;
它看起来确实很简单,但是... website.com/vg/1337.html只是将我引向404。
我究竟做错了什么?
您的正则表达式仅匹配包含一位数字的URL,例如“ 5.html”。
要解决此问题,请将[0-9]
更改为[0-9]+
。 加号表示“先前令牌中的一个或多个”。
[0-9]* or [0-9]+
[0-9]之后缺少枚举器。 如果您不放任何东西,则仅适用于一个字符
在上面的示例中y
不是“无限”的,只允许一位数字。 在其后添加星号*
(或“ +
表示“ 1或更多”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.