我的博客
欢迎来到我的博客
bunny.icu

Nginx重定向修改二级域名

Nginx重定向修改二级域名

域名级别

顶级域名: .com .cn .icu .edu .org .top
二级域名: wangshaogang.com bunny.icu edu.cn org.cn
三级域名: www.wangshaogang.com test.bunny.icu

需求

最近我的网站域名由*.wangshaogang.com修改为*.bunny.icu,希望访问旧的url能自动跳转到新的url,跳转时只修改二级域名,同时保持三级域名前缀、url路径、参数都不改变,也就是实现这样的重定向效果:

https://pic.wangshaogang.com/ -> https://pic.bunny.icu/
https://pic.wangshaogang.com/test1 -> https://pic.bunny.icu/test1
https://pic.wangshaogang.com/test1?p=123 -> https://pic.bunny.icu/test1?p=123

配置

单域名

如果三级域名只有一个,直接用rewrite永久重定向即可

server {
    listen                  80;
    server_name             www.wangshaogang.com;
    ssl_certificate         /root/nginx/ssl/_.wangshaogang.com_chain.crt;
    ssl_certificate_key     /root/nginx/ssl/_.wangshaogang.com_key.key;
    rewrite ^(.*)$          http://www.bunny.icu$1 permanent;
}

多域名

rewrite后面的正则表达式只能获取路径和参数,如果还要获取三级域名,还要用到if语句。

server {
    listen                  443 ssl;
    server_name             *.wangshaogang.com;
    ssl_certificate         /root/nginx/ssl/_.wangshaogang.com_chain.crt;
    ssl_certificate_key     /root/nginx/ssl/_.wangshaogang.com_key.key;

    if ( $host ~* ^(.*).wangshaogang.com) {
        set $dn_prefix $1;
        rewrite ^(.*)$      http://$dn_prefix.bunny.icu$1 permanent;
    }
}

Reference

nginx多域名重定向到不同的二级域名

版权声明


本作品系原创, 转载须遵循 CC BY-NC-ND 4.0 许可协议
本文标题:Nginx重定向修改二级域名
本文链接:https://www.bunny.icu/archives/1372

推荐文章

发表评论

textsms
account_circle
email

bunny.icu

Nginx重定向修改二级域名
域名级别 顶级域名: .com .cn .icu .edu .org .top 二级域名: wangshaogang.com bunny.icu edu.cn org.cn 三级域名: www.wangshaogang.com test.bunny.icu 需求 最近我的网站域名由*.w…
扫描二维码继续阅读
2022-07-26