我没有很好地阅读正则表达式。有人可以帮我理解这到底在做什么吗?
RewriteRule ^[!/.]*([\/A-Za-z0-9]+)$ index.php
我有一个基本的想法,只是没有具体的清晰,我不想错过一些重要的事情。
我没有很好地阅读正则表达式。有人可以帮我理解这到底在做什么吗?
RewriteRule ^[!/.]*([\/A-Za-z0-9]+)$ index.php
我有一个基本的想法,只是没有具体的清晰,我不想错过一些重要的事情。
此正则表达式将匹配一个 url
所有符合此规则的 URL 请求都将发送到 index.php。
这是一个非常不寻常的 RewriteRule,因为它启用了以下 URL:
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