首页 > 系统相关 >在nginx中配置泛域名的切换

在nginx中配置泛域名的切换

时间:2022-10-28 11:11:06浏览次数:53  
标签:http cn myhome 域名 nginx host 切换 edu

背景

在 nginx 中配置自动跳转,凡是访问原域名的地址都自动指向到新域名。

由于涉及到泛域名,因此需要在跳转时获取当前的主机记录,再动态拼接成新域名的主机地址。

 

方案一:使用if(不推荐)

    server {
        listen           80;
        server_name      *.myhome.com;
        location  /  {
            if ($host ~* ^(.*).myhome.com) {
                set $host_edu $1.myhome.edu.cn;
                rewrite ^(.*)$ http://$host_edu$1 permanent;
            }
        }
    }

 

方案二:使用map(推荐)

http {
    map $host $host_edu {
        ~*^(.*).myhome.com    $1.myhome.edu.cn;
        default               www.myhome.edu.cn;
    }
    server {
        location / {
            rewrite ^(.*)$ http://$host_edu$1 permanent;
        }
    }
}

 

注意:map 指令只能在 http 块中使用。

标签:http,cn,myhome,域名,nginx,host,切换,edu
From: https://www.cnblogs.com/netWild/p/16835154.html

相关文章