我想在我的 nginx 中合并 2 个位置块,这样我就可以防止不必要的复制粘贴和复制以下面的块为例
location ~ \.php$ {
....
}
和
location ~ ^/somedirectory/(.+\.php)$ {
....
}
这里两个位置块都包含确切的数据
我该如何修改
location ~ \.php$ {
这样它甚至可以用于子目录
我认为应该在这里使用正则表达式?谁能指导我
问候
为避免位置块中的 nginx 重复,请使用 nginx 包含或使用嵌套位置块 - 嵌套位置块示例如下...
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 位置可以防止缓存,但是它仍然使用相同的标头而不重复配置。可悲的是,您必须重复代理传递,因为继承不适用于代理传递指令(原因我不知道)。