nginx 中有两个“location / {}”块

nginx 中有两个“location / {}”块

对于我们所有的网站,我们都有一个包含文件,其中包含几项内容,其中包括这一行:

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

对于单个站点,我们确实希望将所有请求从 mysite.com/ 重定向到 mysite.com/blog,作为临时“修复”。代码块如下所示:

server {
    server_name mysite.com;
    root        /var/www/mysite;
    include     conf.d/common.conf.inc;

    # Redirect blog
    location / {
        rewrite / /blog redirect;
    }
}

但此操作失败,并出现以下错误:

测试 nginx 配置:nginx:[emerg] /etc/nginx/sites-enabled/mysite:7 中的重复位置“/”

问题

我们如何才能拥有一个服务器location / {}try_files 将所有请求从/重定向到/blog

答案1

您可以尝试一种解决方案,仅从根位置进行重定向:

 location = / {
        rewrite / /blog redirect;
    }

相关内容