htaccess重写规则说明中的^([^。?] +)$和^(\ w +)$

时间:2018-12-25 13:09:19

标签: .htaccess

我的问题是我在htaccess中的点(。)和\ w之间感到困惑,某些网站说点是任何字符,还是任何一个任意字符,斜杠w (\w)与任何字符都匹配字母数字字符和下划线。可以给我解释一下。对于我只想学习htaccess编码的问题,我感到抱歉,有人可以^(\w+)$^([^.?]+)$来区分它。我希望为您提供详细的解释。谢谢!

RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L]


RewriteRule ^(\w+) %{REQUEST_URI}.php [L]

我需要给这些家伙一些详细的解释。谢谢

1 个答案:

答案 0 :(得分:0)

对于\w字母数字字符,指的是A-Z中的大写和小写字母,以及数字0-9。这也包括下划线。因此,它将匹配任何字母,数字或下划线。点号实际上可以匹配任何字符,无论它是字母,数字,符号(?#$&!),空格。点将匹配您可以想到的任何字符。

因此,^(\w+)$^([^.?]+)$之间的区别是:

^(\w+)$将匹配:

苹果

20个苹果

gr3at

1_boss

它将匹配:

1个老板<-因为空间

$ hady <-由于美元符号

快乐的脚<-由于空间

然而 ^([^.?]+)$将与上述所有语句匹配,即使您所拥有的只是空格,它也会匹配