网站首页 > 技术教程 正文
事情起因:.com域名价格不断上涨,所以打算把非凡博客的域名更换为.cn域名,前两天已经完成新域名的备案了,为了确保将旧域名的权重传递到新域名,借助腾讯云的显性URL设置了301跳转,关于这种跳转的设置方法可以参考《设置域名A重定向301跳转到域名B不生效?有一个细节你可能忽略了》。
不过这样直接通过域名解析实现301重定向有一个问题,那就是跳转前的域名不支持HTTPS,以我自己的网站为例,也就意味着这种方法实现的效果是:
如果仅仅是将HTTP的旧域名跳转到新域名,那么在百度站长工具设置网站改版的时候,也必须将旧域名退出HTTPS,否则规则会校验不成功。
但我还是希望能够找到一种可以实现完整重定向的方法,于是开始尝试修改服务器端重定向的规则文件,最终找到了两种方法可以实现HTTP和HTTPS两种协议头旧域名都能跳转到新域名的效果。
解决方案一:
我的服务器端使用的是LNMP环境,以下列出的跳转规则也仅适用于nginx。
1.旧域名和对应的网站目录、网站文件、网站数据库均保持不动,也就是保持旧网站可以正常访问。
2.将新域名解析至网站服务器,同时在服务器中添加新的网站目录环境,将旧域名的所有网站文件全部复制到新网站目录中,对应的数据库文件也导出,然后再导入到新网站的对应数据库中,也就相当于把旧网站完全复制了一份,实现的效果是新域名可以访问复制的网站。
3.找到nginx的配置文件,默认是在/usr/local/nginx/conf/vhost/旧域名.conf
4.通过vi或vim编辑器访问旧域名的配置文件,如果已经安装了SSL证书,这里应该已经自动添加了以下规则:
server
{
listen 80;
listen 443 ssl;
}
我们要做的是在server下的括号中添加跳转规则:
if ( $scheme = "http" ) {
return 301 https://yudufeifan.cn$request_uri;
}
#http协议头的旧域名跳转到https新域名
if ( $scheme = "https" ) {
return 301 https://yudufeifan.cn$request_uri;
}
#https协议头的旧域名跳转到https新域名
location / {
rewrite ^(.*)$ https://yudufeifan.cn$1 permanent;
}
#旧域名的内页全部跳转到https新域名对应内页
注意把上面规则中的域名更换为自己的新域名。
解决方案二:
方案一是通过协议头识别要跳转的旧域名,方案二可以通过具体的域名进行识别,可以采用以下规则:
if ( $host = "feifanblog.com" ) {
return 301 https://yudufeifan.cn$request_uri;
}
#不论协议头是http还是https,域名feifanblog.com都会跳转到新域名
if ( $host = "www.feifanblog.com" ) {
return 301 https://yudufeifan.cn$request_uri;
}
#不论协议头是http还是https,域名www.feifanblog.com都会跳转到新域名
location / {
rewrite ^(.*)$ https://yudufeifan.cn$1 permanent;
}
#旧域名的内页全部跳转到https新域名对应内页
注意把上面规则中的域名更换为自己的新域名。
以上两种方案任选一种即可,最终实现的效果可以参考当前非凡博客的域名重定向效果。
猜你喜欢
- 2024-09-09 「Nginx」Web/代理服务器的瑞士军刀:重写与定位
- 2024-09-09 ingress-nginx常用注解指南(nginx详细讲解)
- 2024-09-09 Nginx反向代理常用配置(nginx反向代理设置)
- 2024-09-09 nginx+springboot使用https重定向的解决办法
- 2024-09-09 Nginx从0基础到进阶实战!运维工程师必看
- 2024-09-09 深度|掌握Nginx监控运维,这一篇足矣!
- 2024-09-09 详解nginx配置location总结及rewrite规则写法
- 2024-09-09 nginx 使用技巧配置(nginx 配置详解)
- 2024-09-09 nginx之Rewrite实战(nginx rewrite_by_lua)
- 2024-09-09 详解 Nginx配置静态内容服务器|附案例说明
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)