在nginx中有两次“位置/ {}”块

对于我们所有的网站,我们都有一个包含以下内容的包含文件:

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

对于单个站点,我们希望将所有来自mysite.com/的请求redirect到mysite.com/blog,作为临时“修复”。 该块看起来像这样:

 server { server_name mysite.com; root /var/www/mysite; include conf.d/common.conf.inc; # Redirect blog location / { rewrite / /blog redirect; } } 

然而,这个失败,出现以下错误:

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

这个问题

我们怎样才能有一个服务器块的location / {}try_files redirect从//blog所有请求?

你可以尝试作为一个解决scheme,只从绝对的根位置redirect:

  location = / { rewrite / /blog redirect; }