三种主机(linux、windows、vps)301重定向跳转的实现方法
2017-03-26 21:31:28
301重定向主要是为了将域名A跳转到域名B,更多情况下是将不带www的域名跳转到带www的域名,那么301重定向应该怎么做呢,本文详细的介绍301重定向的做法,下面分为linux主机、windows主机以及vps主机三种情况讲述都以将本站域名yedward跳转到yedward这个为例子
一linux主机
对于linux虚拟主机Apache服务器,需要支持.htaccess这个文件。先去确定主机是否支持.htaccess这个文件可以询问主机商,如果支持的话,首先将两个域名都解析到这个服务器,然后在.htaccess中添加如下规则
RewriteCond%{http_host}^yedward[NC]
RewriteRule^.
$yedward$1[R=301,L]
如果你的根目录中已经存在了.htaccess文件,那么你可以直接修改该文件,然后将这条规则添加进去,如果你的根目录中不存在.htaccess文件,你可以先自己创建个htaccess.txt这样的空文件,然后添加如下规则,建成后将htaccess.txt文件上传到根目录,然后将htaccess.txt名修改为.htaccess,规则为
RewriteEngineon
RewriteCond%{http_host}^yedward[NC]
RewriteRule^.
$yedward$1[R=301,L]
二windows主机
windows主机的IIS服务器,首先需要安装ISAP_Rewrite这个组件,一样的去询问下主机商是否支持这个组件,如果支持的话,将两个域名都解析到该IP,然后对于windows主机我们需要建的是httpd.ini文件而不是.htaccess文件,这个地方需要注意一下,然后在httpd.ini文件中添加如下规则
RewriteCondHost:^yedward\$
RewriteRule.
http\:www\.yedward\$1[I,RP]
RewriteCondHost:^seo\.yedward\$
RewriteRule.
http\:www\.yedward\$1[I,RP]
上面的规则表示的是将yedward这个域名301跳转到yedward这个域名,同时也将seo.yedward这个域名跳转到yedward这个域名。如果你的根目录下存在httpd.ini文件,你可以直接将以上规则加入进去,如果根目录下不存在该文件,你可以先新建个httpd.txt空文件,然后添加如下规则,保存文件用FTP上传到根目录后,将httpd.txt名修改为httpd.ini即可,规则如下
[ISAPI_Rewrite]
#3600=1hour
CacheClockRate3600
RepeatLimit32
RewriteCondHost:^yedward\$
RewriteRule.
http\:www\.yedward\$1[I,RP]
RewriteCondHost:^seo\.yedward\$
RewriteRule.
http\:www\.yedward\$1[I,RP]
三vps主机
对于vps主机,你可以直接操控管理后台,下面我附上图片跟大家演示
第一步
进入控制面板,然后在里面可以找到管理工具,然后看到如上图所示的界面,由于我这个是windowsxp系统,只是用于演示用的,真正的windows主机不会使用windowsxp系统的,所以在界面上看起来可能有点差别,但是不影响操作。
第二步,打开Internet信息服务,然后进入,会看的上图所示的结果,如果你的是处于运行状态的,你会在默认后面看到运行的字样,而我这里是停止,但是这个不影响。
第三步,右键点击在第二步看到的默认停止,然后在出现的对话框中选择属性,然后进入如上图所示的界面,这个时候选择主目录。
第四步,选择主目录中的重定向到URL,在输入框中输入要跳转到的目标,并勾选下面的资源的永久重定向,最后确认即可,这样就完成了vps主机的301重定向。
四我的主机不支持以上301跳转怎么办?
对于不支持以上301跳转的主机,那就不要做301了,也没有关系,你可以通过其他方法达到相同的效果,比如做好规范化、使用绝对化的等,这样就可以让搜索引擎明确知道哪一个是你的目标URL。
来源 yedward 。