在上方出现问题的场景中, nginx的配置文件大体如下:
server {
listen 80;
server_name localhost;
root /var/...那问了, 有可能是因为两个匹配规则的优先级不同, 故而忽略了优先级低的匹配规则.
为了验证nginx对于相同优先级的匹配规则, 是否会进行后续匹配, 再次进行实验....400;
}
location ~ php$ {
return 500;
}
}
配置文件中两个正则匹配, 我的想法是这样的, 此时访问, 会返回响应吗 400,...至此, nginx的匹配规则基本上已经复现出来了.
按照优先级从高到低的顺序进行匹配
相同优先级的, 按照配置文件中的顺序进行匹配
当匹配到一条规则之后, 停止后续匹配....通过将php文件的解析配置单独放到一个配置文件php-fpm.conf.common文件中, 内容如下:
location ~ \.php${
// ...
}
这样, 原本的配置文件就可以改写成如下形式了