使用 nginx 重定向到其他域

使用 nginx 重定向到其他域

我正在尝试使用以下服务器配置重定向到不同的 URL。

server {
    listen 80;
    server_name domain.com www.domain.com;
    return 301 http://anotherdomain.com;
 }

当您输入 www.domain.com 时,它会成功重定向到http://anotherdomain.com,但是当您输入 domain.com 时,它似乎被重定向到http://http//anotherdomain.com

我尝试查看 nginx 文档并尝试过:

server {
    listen 80;
    server_name domain.com www.domain.com;
    rewrite ^ http://anotherdomain.com permanent;
 }

我最终得到了相同的结果。我肯定我遗漏了一些显而易见的东西,但有人能给我指出正确的方向吗?提前谢谢。

答案1

您几乎已经拥有它了。

您是否尝试过切换 server_name 值?

server {
    listen 80;
    server_name www.domain.com domain.com;
    rewrite ^ http://anotherdomain.com$request_uri? permanent;
}

您也可以尝试这个变体

server {
    listen 80;
    server_name domain.com;
    return 301 $scheme://anotherdomain.com$request_uri;
}

server {
    listen 80;
    server_name www.domain.com;
    return 301 $scheme://www.anotherdomain.com$request_uri;
}

让我知道事情的后续

相关内容