我想在我的nginx中合并2个位置块,以便我可以防止不必要的复制粘贴和复制 以下面的块为例
location ~ \.php$ {
....
}
和
location ~ ^/somedirectory/(.+\.php)$ {
....
}
这里两个位置块都包含精确数据
我如何修改
location ~ \.php$ {
这样它甚至可以用于子目录
我认为正则表达式应该在这里使用? 请有人指导我吗
此致
答案 0 :(得分:0)
为避免位置块中的nginx重复使用nginx包含OR使用嵌套位置块 - 嵌套位置块示例如下...
location / {
proxy_pass http://mywebfeservers;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Request-ID $uuid;
proxy_set_header Via $via;
location /aaa {
# proxy_pass is not inherited, unsure about proxy_http_version
proxy_pass http://mywebfeservers;
proxy_http_version 1.1;
# Prevent caching
if_modified_since off;
}
}
此处所有位置都设置了这些不同的标头。只有/ aaa位置可以防止缓存但是它仍然使用相同的头而不重复配置。遗憾的是,你必须重复代理传递,因为继承不能与代理传递指令一起使用(出于我不知道的原因)。