很多人都有这样的经历和问题,那就是使用Windows主机建立自己的网站,而且都会面对这样一个问题:如何把裸域名(不带www的域名)直接跳转到带www的域名网址上(如果使用这个作为网站主页的话)。
以下是几种实现301跳转的思路和方法,仅供参考。
一、通过主机商的后台管理进行设置
目前一般的主机服务商都的后台都会提供一个设置面板,里面大部分都有一个301跳转的选项,只要把域名填对就可以了,简单方便。
二、通过域名服务商的管理平台进行设置
也可以从域名服务商那里进行解析设置。例如阿里云的域名管理后台中的解析选项中有跳转的设置,一般设置301跳转都会选择“显性”跳转(隐性跳转是302)。这种跳转方式当你 ping 裸域名的时候,IP地址显示的是阿里云的IP地址。
三、通过CDN服务商的管理平台进行设置
如果你外挂了 CDN 服务,也可以从 CDN 服务商那里设置。例如 又拍云 的后台,可以在 https 那里进行强制跳转的设置,也可以使用 边缘服务,进行正则设置。
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
四、通过网站的php系统进行设置
除了上面三种设置,如果你使用的是 WordPress 可以用 php 代码设置。
- // 实现从裸域名到含有www域名网址的跳转
- if (strtolower($_SERVER['SERVER_NAME']) != 'www.timezls.com') {
- header('HTTP/1.1 301 Moved Permanently');
- header('Location:https://www.timezls.com'. $_SERVER['REQUEST_URI'] );
- exit();
- }
不过上述代码的使用有一些条件:你必须把裸域名网址和带www的域名网址都解析到一个CNAME或IP地址上,再没有其他另外的域名解析上述CNAME或IP地址。
上述代码的使用还有一些不足之处,那就是不支持纯静态资源,例如图片、html 、js、css文件等。
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
五、通过网站根目录下的 web.config 文件进行设置
对于Windows虚拟主机而言,可以使用 web.config 文件进行设置:
- <rule name="files from timezls.com to www.timezls.com" stopProcessing="true">
- <match url="(.*)" />
- <conditions>
- <add input="{HTTP_HOST}" pattern="www.timezls.com" negate="true" />
- <add input="{HTTP_HOST}" pattern="timezls.com" negate="false" />
- </conditions>
- <action type="Redirect" url="https://www.timezls.com/{R:1}" />
- </rule>
上述代码的使用,也应注意:你必须把裸域名网址和带www的域名网址都解析到一个CNAME或IP地址上,再没有其他另外的域名解析上述CNAME或IP地址。
以上就是一些301跳转的思路和方法。不过无论哪种方法,都应该在设置后进行观察,看是否会因跳转设置而导致死循环的发生。
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved