事件缘起
今天下午,老蒋帮助一位网友处理了网站数据迁移的事宜。这位网友拥有两个域名,计划关闭一个站点,并将数据转移到另一个已有数据的站点。这个站点需要清空数据,并且需要更换域名,同时还要进行301重定向,确保URL地址不变。老蒋利用这个机会,详细整理了网站改版或更换域名时301重定向的设置案例。
Nginx 与其他区别
Nginx与其它服务器在处理301重定向时有差异。本次交流将主要围绕Nginx展开,虽然也会提及其他,但Nginx是核心。在根目录文件中进行301重定向配置后,效果即刻显现。而Nginx需要在配置文件中,具体到域名下的.conf文件里进行设置。完成设置后,必须重启Nginx,改动才能生效。比如很多企业网站用Nginx搭建,修改设置时就需留意。
全部跳转 WWW 前缀域名
网络上的域名有的包含“WWW”,有的则没有,我们通常将带有“WWW”的域名视为完整形式。不论用户输入的是否带有“WWW”,我们都期望系统能自动转向到带有“WWW”的域名。这种做法很普遍,与大多数人的上网习惯相符。比如,访问某个电商平台时,即便输入的域名没有“WWW”,也能自动跳转到带有“WWW”的官方网站。
跳转到其他域名
若需将网站转移至新域名,在Nginx环境中,可在原站点配置文件中直接设定新域名的强制跳转。比如,若企业更换了品牌域名,需将所有旧域名统一转向新域名,便可以采取此方法。此举可保证网站流量平稳地从旧域名过渡至新域名。
A 域名跳转到 B 域名
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.itbulu.com$ [NC]
RewriteRule ^(.*)$ http://www.itbulu.com/$1 [R=301,L]
更换域名后,若想访问A域名时自动跳转到B域名,需在A域名对应的老站点配置文件中进行设置,确保所有访问都导向新站点域名。例如,许多个人博客在更换域名后,会将旧域名的访问引导至新域名,以防用户因域名变更而流失。
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
if ($host != www.itbulu.com) { return 301 $scheme://www.itbulu.com$request_uri; }
设置总结与建议
总体来说,在网站改版或是改换域名过程中,301重定向的配置显得特别关键。需依据具体需求和服务器条件来挑选恰当的配置方式。操作时务必小心,确保数据备份到位。并且,要不断检查跳转效果,适时作出调整。比如,新网站上线的前半年,要持续留意流量变动和跳转状况。
RewriteCond %{HTTP_HOST} ^www.老域名.com$ [NC]
RewriteRule ^(.*)$ http://www.新域名.com/$1 [R=301,L]
在网站更新版面或变更网址过程中,你是否遇到过关于301重定向配置的困扰?若你觉得这篇文章对你有所帮助,请给予点赞并转发。
if ($host != 'www.新域名.com' ) {
rewrite ^/(.*)$ http://www.新域名.com/$1 permanent;
}