事件原因:由于.com域名价格持续上涨,我们计划将飞凡博客域名变更为.cn域名。我两天前完成了新域名注册。在腾讯云的帮助下,我们确保您的旧域名权重转移到您的新域名。显式URL 具有301 跳转集。有关如何设置此跳转的信息,请参阅《设置域名A重定向301跳转到域名B不生效?有一个细节你可能忽略了》。
然而,直接通过域名解析实现301重定向存在问题。这意味着跳转前的域名不支持HTTPS。也就是说这个方法的效果是:
如果您只想从HTTP的旧域名跳转到新域名,那么您在百度站长工具中设置网站改版时也必须将旧域名从HTTPS终止。否则,规则将不会被验证。失败。
但是,我想找到一种方法来实现完整的重定向,因此我开始尝试修改服务器端重定向的规则文件,最终实现了我发现的HTTP 和HTTP 的旧协议标头。两种方式。 HTTPS。您可以将您的域名重定向到新域名。
解决方案一:
我的服务器使用LNMP环境,下面列出的跳转规则仅适用于nginx。
1、旧域名及对应的网站目录、网站文件、网站数据库保持不变,您可以成功访问您的旧网站。
2.将新域名解析到您的网站服务器,在服务器中添加新的网站目录环境,将旧域名的所有网站文件复制到新网站目录中,并导出相应的数据库文件,它们对应的数据库将是。相当于旧网站的完整副本,您将可以使用新域名访问复制的网站。
3. 找到nginx配置文件。默认为/usr/local/nginx/conf/vhost/旧域名.conf。
4。通过vi或vim编辑器访问旧域名配置文件。如果安装了SSL 证书,则会在此处自动添加以下规则。
服务器
{
听80。
443 监听SSL。
}
我们所要做的就是在服务器下方的括号内添加跳转规则。
如果($方案='http'){
返回301 https://yudufeifan.cn$request_uri;
}
#http协议头中的旧域名跳转到https中的新域名
如果($方案='https'){
返回301 https://yudufeifan.cn$request_uri;
}
#https协议头中的旧域名跳转到https中的新域名
位置/{
^(.*)$ https://永久重写yudufeifan.cn$1。
}
#旧域名的所有内部页面都会跳转到新域名的内部页面,支持https
请注意,我们将上述规则中的域名替换为新域名。
解决方案2:
第一个选项是识别将通过协议标头重定向的旧域名。可以使用以下规则来识别第二个选项。
if ( $host='feifanblog.com' ) {
返回301 https://yudufeifan.cn$request_uri;
}
#域名feifanblog.com无论协议头是http还是https都会跳转到新域名
if ( $host='www.feifanblog.com' ) {
返回301 https://yudufeifan.cn$request_uri;
}
#域名www.feifanblog.com无论协议头是http还是https都会跳转到新域名
位置/{
^(.*)$ https://永久重写yudufeifan.cn$1。
}
#旧域名的所有内部页面都会跳转到新域名的内部页面,支持https
请注意,我们将上述规则中的域名替换为新域名。
您可以选择以上两种解决方案之一。最终效果请参考飞凡博客目前的域名重定向效果。
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。