将所有 URL 重定向到单个 URL

将所有 URL 重定向到单个 URL

我有一台计算机,foo00CNAMEfoonginx我可以通过以下 URL 访问我的网站:

foo/
foo00/
foo.domain.local/
foo00.domain.local/

我该如何配置nginx才能使所有内容都重定向foo.domain.local

我尝试了以下操作:

server {

    listen 80;
    server_name foo.domain.local;
    return 301 $scheme://$host$request_uri;

}

这会重定向foo/foo.domain.local/但不会foo00/foo00.domain.local。有什么想法吗?

答案1

为您想要重定向的其他域添加另一个服务器块:

server {
    listen 80;
    server_name foo00.domain.local;

    return 301 http://foo.domain.local;
}

或者如果您想保留 URI,您可以使用这个:

return 301 http://foo.domain.local$request_uri;

答案2

添加所有域名,例如

server_name sub.domain.tld domain.tld othersub.domain.tld andsoon.tld;

(不要忘记指令末尾的“;”)。

看看重写 nginx 文档如果需要,可以获取有关添加可能的 URL 参数的更多选项。

相关内容