实战301 Redirect重定向在Apache和IIS服务器上

A:什么情况下,需要使用到Redirect永久重定向咧?

Q:一般情况下,在网站调整或更换域名时,会改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。

首先,介绍常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:

◦301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

◦302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。

◦meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。

其次,这里我们主要谈谈如何通过301 Redirect实现网页重定向

一、IIS服务器实现301重定向

* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键,见下图

* 选中“重定向到URL”

* 在对话框中输入目标页面的地址

* 切记,记得选中“资源的永久重定向”

* 当然,最后要点击“应用”

二、Apache服务器实现301重定向

相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现单个文件以及目录等很多强大的重定向功能,301重定向只是其中之一。

#将根目录下内容重定向到http://help.onexin.net
Redirect permanent / http://help.onexin.net/
#将tool目录下内容重定向到tool.onexin.net
Redirect permanent /tool/ http://tool.onexin.net/
#将test.html网页内容重定向到http://help.onexin.net/
Redirect permanent /test.html http://help.onexin.net/
#定义404错误页
ErrorDocument 404 /index.html
#默认首页优先级
DirectoryIndex index.htm index.html default.html index.php default.htm

通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。

三、其他方法还有:

1、PHP下的301重定向

<?php
if(($HTTP_SERVER_VARS["HTTP_HOST"]==”onexin.net”)) {
header(‘HTTP/1.1   301 Moved Permanently’);
header(‘Location:    http://www.onexin.net’.$_SERVER['REQUEST_URI']);
exit();
}
?>

2、ASP下的301重定向

< %@ Language=VBScript %>
< % Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ”http://help.onexin.net”>

3、ASP .NET下的301重定向

最后,配置完成要认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如:

Check Server Headers Tool – HTTP Status Codes Checker

http://www.onexin.net/tool/curl

One Reply to “实战301 Redirect重定向在Apache和IIS服务器上”

Leave a Reply