^([^.?]HTaccess 重写规则解释中的 +)$ 和 ^(w+)$



我的问题是我在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 <--因为美元符号

快乐的脚<--因为空间

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

最新更新