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。
我做错了什么?
答案 0 :(得分:4)
您的正则表达式仅匹配包含单个数字的网址,例如“5.html”。
要解决此问题,请将[0-9]
更改为[0-9]+
。 plus表示“以前的一个或多个令牌”。
答案 1 :(得分:1)
[0-9]* or [0-9]+
在[0-9]之后缺少枚举器。如果你没有放任何东西,它只适用于一个字符
答案 2 :(得分:1)
y
不是“无限制”,只允许一个数字。在其后添加一个明星*
(或者为{1}更多的“{1}}”。