【问题标题】:NGINX: main location block overriding sub directory location?NGINX:主要位置块覆盖子目录位置?
【发布时间】:2023-03-07 12:47:01
【问题描述】:

我已经阅读了大量关于位置块的文档,但我对 RegEx 没有太多经验,所以我对如何完成我想要做的事情有点迷茫。下面的 nginx 配置可能会比我说的更好地解释我想做的事情:

server {
        server_name example.com www.example.com;
        root /var/www/;
        index index.php;


        location /blog/ {
                try_files $uri $uri/ /index.php?$args;
        }

        location ~ \.php$ {
                try_files $uri =404;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

        location / {
                try_files $uri @uwsgi;
        }

        location @uwsgi {
                include uwsgi_params;
                uwsgi_pass unix:/tmp/uwsgi.sock;
        }


}

example.com/ 正在通过 uwsgi 由瓶子应用程序提供服务,因此该位置下的所有内容都应路由到瓶子应用程序并在那里处理。这按预期工作正常,但是我不知道如何向位置规则添加“异常”,以便example.com/blog 及其下的所有内容../sub1/sub2 等都不会定向到瓶子应用程序,但实际上由wordpress 和它的 PHP 魔法。

这似乎设置起来应该很简单,但事实证明,很难用谷歌搜索这类问题的简单解决方案,因为每个人似乎都用大量非必要的东西来膨胀他们的“教程”配置,这会让初学者感到困惑.

【问题讨论】:

    标签: nginx uwsgi nginx-location


    【解决方案1】:

    这可能需要一些调整,但您可能应该使用嵌套的位置块:

    server {
        server_name example.com www.example.com;
        root /var/www;
        index index.php;
    
        location /blog/ {
            try_files $uri $uri/ /blog/index.php?$args;
    
            location ~ \.php$ {
                try_files $uri =404;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
            }
        }
    
        location / {
            try_files $uri @uwsgi;
        }
    
        location @uwsgi {
            include uwsgi_params;
            uwsgi_pass unix:/tmp/uwsgi.sock;
        }
    }
    

    请注意,默认 URI 已更改为 /blog/index.php,希望这是您所有 WordPress 文件所在的位置。

    【讨论】:

    • 这很好,帮助解决了我的问题,尽管我发现另一个问题是错误配置的 wordpress 安装。我已将我的 wordpress 文件移动到一个子目录,但显然我还需要重新安装它。如果没有这个修复,它就无法正常工作。
    猜你喜欢
    • 1970-01-01
    • 2021-12-18
    • 2017-02-15
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 2011-01-09
    相关资源
    最近更新 更多