Nginx 能否强制匹配多个 location?

比如

    location /api {
      add_header "Access-Control-Allow-Origin" "*";
    }
    location ~ [^/]\.php(/|$) {
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
      include fastcgi.conf;
    }

这时,如果访问 api 下的.php ,就没有 add_header 了,只能重新写一个正则匹配,非常不优美。请问有好的解决方案么?

阅读 3.9k
1 个回答
  1. 正则规则里多加一句add_header
  2. include从同一个文件引用
  3. (可以这么写但官方明确不推荐)把第二个location块嵌套放在第一个块里边,不过得多做测试,确保不会引入解析的bug
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题