在各种服务器环境下实现301 Redirect 永久重定向 - 网络常识|301 Redirect 重定向

在各种服务器环境下实现301 Redirect 永久重定向

Date: 2010-12-02 00:00:00Written By atbaidu

在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.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。

例如:<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>杭州网站制作★网站优化推广★ 网站建设的专业机构..</title><meta http-equiv="refresh" content="0;url=http://www.baidu.com/"> </head><body><a href="http://www.atbaidu.com/">如果浏览器没有跳转,请点这里</a></body>

实现301永久重新定向
这里我们主要谈谈如何通过301 Redirect实现网页重定向

IIS服务器实现301重定向
* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键,见下图
* 选中“重定向到URL”
* 在对话框中输入目标页面的地址
* 切记,记得选中“资源的永久重定向”
* 当然,最后要点击“应用”

Apache服务器实现301重定向
相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
例如如下伪静态规则:

RewriteEngine On
RewriteRule "^html/([^./]*)[/|]$" "/?f=$1"
RewriteRule "^html/([^./]*)/([0-9]+).html" "/?f=$1&c=$2"
RewriteRule "^html/([^./]*)/(view)_([0-9]+).html" "/?f=$1&a=$2&r=$3"
RewriteRule "^html/([^./]*)/(view)_([0-9]+)_([0-9]+).html" "/?f=$1&a=$2&c=$3&r=$4"
RewriteRule "^html/([^./]*)/(send)_([0-9]+).html" "/?f=$1&a=$2&r=$3"

RewriteCond %{HTTP_HOST} ^atbaidu.abc.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.atbaidu.abc.com$
RewriteRule ^.*$ "http\:\/\/www\.atbaidu\.com\/" [R=301,L]

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

其他方法现301重定向还有:
PHP下的301重定向
< ? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.atbaidu.com" );?>

ASP下的301重定向
< %@ Language=VBScript %>
< % Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.atbaidu.com”>

ASP .NET下的301重定向

配置完成后,要认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker或本站提供的这个网页重定向检查工具。

  • Tags: 301 Redirect 重定向 , 积分 Counts:587 次
  • (Top) 返回页面顶端
    下一篇 --> 利用javascript在页面上点击任一链接时触发一个事件的代码  关于Nginx服务器下的伪静态(Rewrite)文件写法 <-- 上一篇

    建站常见问题        查看更多...