和猜想的一样, 即使匹配规则在前面, 但是仍然先匹配到了规则^~. 也就是说规则 ^~ 比规则 ~的匹配优先级更高....不过还有一点无法确定, 即使先匹配到了后面的规则, 那也不能说明前面的规则就不走了啊. nginx也有可能是按照顺序依次进行匹配的.
为了验证, 我们将第三个配置规则中的return 100删掉....那问了, 有可能是因为两个匹配规则的优先级不同, 故而忽略了优先级低的匹配规则.
为了验证nginx对于相同优先级的匹配规则, 是否会进行后续匹配, 再次进行实验....至此, nginx的匹配规则基本上已经复现出来了.
按照优先级从高到低的顺序进行匹配
相同优先级的, 按照配置文件中的顺序进行匹配
当匹配到一条规则之后, 停止后续匹配....通过将php文件的解析配置单独放到一个配置文件php-fpm.conf.common文件中, 内容如下:
location ~ \.php${
// ...
}
这样, 原本的配置文件就可以改写成如下形式了