和猜想的一样, 即使匹配规则在前面, 但是仍然先匹配到了规则^~. 也就是说规则 ^~ 比规则 ~的匹配优先级更高....这次返回了 404, 这说明, nginx在执行到第一个匹配的时候, 就停止匹配, 不再进行后续匹配了.
至此, nginx的匹配规则基本上已经复现出来了....按照优先级从高到低的顺序进行匹配
相同优先级的, 按照配置文件中的顺序进行匹配
当匹配到一条规则之后, 停止后续匹配....xxx: 路径正则匹配
location ~* xxx: 路径正则匹配, 不区分大小写, 与正则匹配的优先级相同
location /xxx : 路径前缀匹配
location / : 通用匹配, 当其他都没有匹配的时候...又因为没有解析操作, 故而 php 文件都当做资源文件返回了.
那么问题来了, 如果我想对admin路径下的路径执行访问限制, 改怎么办呢?
将规则^~改成~ ?