强制 nginx 重定向到服务器根目录

强制 nginx 重定向到服务器根目录

我在 nginx 中有以下几行:

try_files $uri $uri/ /index.html;

据我了解,它会将所有对未找到的文件的查询重写为index.html。这意味着,它index.html?foo=baridontexist.html?foo=bar留下相同的结果,从而搞砸了 Google 的抓取。

我怎样才能不重写而是重定向到默认 URL?

完美的解决方案是即使没有index.html。因此,http://domain.com/idontexist.html?foo=bar使用 301 重定向到http://domain.com/?foo=bar

答案1

location / {
    try_files $uri $uri/ @to_home;
    ...
}

location @to_home {
    return 301 /$is_args$args;
}

答案2

我缩短了上面的 VBart 代码片段。它按预期工作:

try_files $uri $uri/ / =301;

相关内容