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