我的问题是我在htaccess中的点(。)和\ w之间感到困惑,某些网站说点是任何字符,还是任何一个任意字符,斜杠w (\w)
与任何字符都匹配字母数字字符和下划线。可以给我解释一下。对于我只想学习htaccess编码的问题,我感到抱歉,有人可以^(\w+)$
和^([^.?]+)$
来区分它。我希望为您提供详细的解释。谢谢!
RewriteRule ^([^.?]+)$ %{REQUEST_URI}.php [L]
RewriteRule ^(\w+) %{REQUEST_URI}.php [L]
我需要给这些家伙一些详细的解释。谢谢
答案 0 :(得分:0)
对于\w
字母数字字符,指的是A-Z中的大写和小写字母,以及数字0-9。这也包括下划线。因此,它将匹配任何字母,数字或下划线。点号实际上可以匹配任何字符,无论它是字母,数字,符号(?#$&!),空格。点将匹配您可以想到的任何字符。
因此,^(\w+)$
和^([^.?]+)$
之间的区别是:
^(\w+)$
将匹配:
苹果
20个苹果
gr3at
1_boss
它将不匹配:
1个老板<-因为空间
$ hady <-由于美元符号
快乐的脚<-由于空间
然而 ^([^.?]+)$
将与上述所有语句匹配,即使您所拥有的只是空格,它也会匹配