在nginx中配置泛域名的切换
背景
在 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$request_uri permanent;
            #rewrite ^(.*)$ http://$host_edu$1 permanent;
        }
    }
}
注意:map 指令只能在 http 块中使用。
版权声明: 本文为博主 网无忌 原创文章,欢迎转载,但请务必标注原文链接。
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号