在另一个块中使用代理传递时,如何从URL删除/时仅匹配根目录

时间:2019-03-18 20:30:24

标签: regex nginx nginx-config

我在合并主要是代理服务器的服务器时遇到问题,但是我想在主文件夹和一些子目录中处理不同的服务器。子目录没有问题,但是根文件夹与我做的任何事情都不匹配。

问题是代理服务器从链接中删除了结尾的“ /”,而我找不到找到将根目录与已删除根目录进行正则表达式匹配的方法。我在不将斜杠重定向到无斜杠的虚拟服务器上进行了测试,它可以正常工作,但我遇到了这种情况。

location / {

            proxy_set_header Accept-Encoding "";
            proxy_pass blahblah;

            proxy_set_header                Host blahblah;
            proxy_set_header                User-Agent        $http_user_agent;
            proxy_set_header                Referer           $http_referer;
            proxy_set_header                X-Forwarded-Proto $scheme;
            proxy_set_header                X-Real-IP         $remote_addr;
            proxy_set_header                X-Forwarded-For   $proxy_add_x_forwarded_for;
            proxy_set_header                Cookie            $http_cookie;
            proxy_pass_request_headers      on;
            proxy_ssl_server_name           on;
}

然后我无法匹配的块尝试了以下操作:

    location ~ \.php {
            include snippets/fastcgi-php.conf;
            fastcgi_read_timeout 600;
            fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location = / {
            include snippets/fastcgi-php.conf;
            fastcgi_read_timeout 600;
            fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

0 个答案:

没有答案