繁体   English   中英

.htaccess正则表达式问题

[英].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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM