301重定向主要是为了将域名A跳转到域名B,更多情况下是将不带www的域名跳转到带www的域名,那么301重定向应该怎么做呢,下面和大家介绍301重定向的做法,主要对Linux主机以及Windows虚拟主机实现方法进行讲述。
(一)linux主机
对于linux虚拟主机Apache服务器,需要支持.htaccess这个文件,因此首先需要确定主机是否支持.htaccess这个文件(不清楚的话可以询问主机商),如果支持的话,首先将两个域名都解析到这个服务器,然后在.htaccess中添加如下规则:
RewriteCond %{http_host} ^ tvs51.com [NC]
RewriteRule ^(.*)$ http://www. tvs51.com /$1 [R=301,L]
如果你的网站根目录中已经存在了.htaccess文件,那么你可以直接修改该文件,然后将这条规则添加进去,如果你的网站根目录中不存在.htaccess文件,你可以先自己创建个htaccess.txt这样的空文件,然后添加如下规则,建成后将htaccess.txt文件上传到网站根目录,然后将htaccess.txt名修改为.htaccess,规则为:
RewriteEngine on
RewriteCond %{http_host} ^ tvs51.com [NC]
RewriteRule ^(.*)$ http://www. tvs51.com /$1 [R=301,L]
(二)windows主机
windows主机的IIS服务器,首先需要安装ISAP_Rewrite这个组件,你可以询问下主机商是否支持这个组件,如果支持的话将域名都解析好,然后对于windows主机我们需要建的是httpd.ini文件而不是.htaccess文件,这个地方需要注意一下,然后在httpd.ini文件中添加如下规则:
RewriteCond Host: ^ tvs51\.com$
RewriteRule (.*) http\://www\.tvs51\.com$1 [I,RP]
RewriteCond Host: ^seo\.tvs51\.com$
RewriteRule (.*) http\://www\.tvs51\.com$1 [I,RP]
上面的规则表示的是将域名301跳转到带www这个域名。同样如果你的网站根目录下存在httpd.ini文件,你可以直接将以上规则加入进去,如果网站根目录下不存在该文件,你可以先新建个httpd.txt空文件,然后添加如下规则,保存文件用FTP上传到网站根目录后,将httpd.txt名修改为httpd.ini即可,规则如下:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^ tvs51\.com$
RewriteRule (.*) http\://www\.tvs51\.com$1 [I,RP]
RewriteCond Host: ^seo\.tvs51\.com$
RewriteRule (.*) http\://www\.tvs51\.com$1 [I,RP]
以上就是Linux及Windows系统301重定向方法,有兴趣的朋友可以按照上述方法尝试设置下,当然对于不支持以上301跳转的主机,做不了301也没有关系, 也可以通过做好网址规范化、网站使用绝对化的地址等其他方法达到相同的效果,这样就可以让搜索引擎知道哪个是你的目标URL。
需要注意的是,一般情况下我们也可以在主机控制面板中(如cPanel面板)设置而达到同样的效果,对于不清楚用配置文件设置301重定向,建议大家通过主机控制面板进行设置,另外就是需要将上述的tvs51.com域名换成你自己的主域名,上述设置过程仅供大家参考