我没有很好地阅读正则表达式。有人可以帮我理解这究竟是做什么的吗?
RewriteRule ^[!/.]*([\/A-Za-z0-9]+)$ index.php
我有一个基本的想法,只是没有具体的清晰度,我不想错过重要的事情。
答案 0 :(得分:2)
此正则表达式将匹配
的网址所有符合此规则的网址请求都将发送到index.php。
这是一个非常不寻常的RewriteRule,因为它启用了以下网址:
http://example.com/!asdf
http://example.com/!.asdf2
http://example.com/!./asdf5
http://example.com/./asdf5
http://example.com/.asdf5
此类重写规则通常用于将对不存在的文件/目录的请求定向到前端控制器。这样的事情可能会让你更好:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ index.php