成都百度快照优化|成都百度关键词排名优化|成都SEO【思为网络】 --【思为网络】成都专业网站优化公司,公司拥有专业搜索引擎优化团队,提供网站整站优化(网站结构优化、网站内容优化、网站外部优化)、百度排名首页优化、GOOGLE优化排名
成都百度关键词排名优化--成都百度快照首页排名优化
你的位置:首页 » SEO学习园地 » 正文

ASP/PHP/.NET网站 设置301重定向代码详解 301永久重定向怎么写?

2010-8-4 0:0:0 | 作者:sw996 | 2个评论 | 人浏览

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

  常用的重定向方式有: 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: 这在2001年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。

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

     所谓301永久重定向(或叫301转向,301跳转),是指当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

301永久重定向有何作用?在哪些情况下适用?

从301永久重定向的定义可以看出,它是一种状态码,会向搜索引擎或浏览器发出信息:本网页的地址已经永久改变了。并会把新的地址传达过去。而相应的就是:我们输入网址A访问,显示出来的是转向后的网址B,转向过程极短以至无法察觉。所以,301永久重定向对于访客来说,作用就是将他要访问的而实际上已不存在的网址转到另一个网址,避免出现“此网页无法显示”之类的错误;对于搜索引擎优化|SEO来说,给搜索引擎一个友好的信息,告诉它此页面已永久重定向,避免搜索引擎找不到页面。这对于网站的SEO是很重要的,因为301永久重定向对SEO无任何不好的影响!而且网页A的关键词排名和PR级别都会传达给网页B!

一: IIS中实现301转向:
        1.打开internet信息服务管理器,在欲重定向的网页或目录上按右键
        2.选中“重定向到URL”
        3.在对话框中输入目标页面的地址
        4.选中“资源的永久重定向”
        5.点击“应用”即可生效

二:ASP下的301转向代码:

ASP下的301转向代码:

<%@ Language="VBScript" %>
<%
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.sw996.com"
%>

代码使用方法可参见本人以前写的关于301永久重定向的文章.

三:PHP下的301转向代码:

PHP下的301转向代码:

<?
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://www.sw996.com");
exit();
?>

四:ASP.Net下的301转向代码:

ASP.Net下的301转向代码:

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.sw996.com");
}
</script>

五:CGI Perl下的301转向代码:

CGI Perl下的301转向代码:

$q = new CGI;
print $q->redirect("http://www.sw996.com");

六:JSP下的301转向代码:

JSP下的301转向代码:

<%
response.setStatus(301);
response.setHeader( "Location", "http://www.sw996.com" );
response.setHeader( "Connection", "close" );
%>

七:Apache下301转向代码:

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):如果要实现“批量重定向”,

1)将不带WWW的域名转向到带WWW的域名下:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^sw996.com [NC]
RewriteRule ^(.*)$ http://www.sw996.com/$1 [L,R=301]

2)重定向到新域名:

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.sw996.com/$1 [L,R=301]

八:Apache下vhosts.conf中配置301转向:

为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:

Apache下vhosts.conf中配置301转向:

<VirtualHost *:80>
ServerName www.sw996.com
DocumentRoot /home/lesishu
</VirtualHost>

<VirtualHost *:80>
ServerName sw996.com
RedirectMatch permanent ^/(.*) http://www.sw996.com/$1
</VirtualHost>

九:Ruby中实现301转向:

Ruby中实现301转向:

def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.sw996.com"
end

十:Coldfusion中实现301转向:

Coldfusion中实现301转向:

<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.sw996.com">

附:301转向情况检测地址

http://www.internetofficer.com/seo-tool/redirect-check/

输入你的url点:"Check Redirects"

若出现以下内容则301永久转向成功:

英文:

Response


Checked link: http://sw996.com

Type of redirect: 301 Moved Permanently

Redirected to: http://www.sw996.com


中文:

检查链接: http://sw996.com

类型重定向: 301永久移动

重定向到: http://www.sw996.com

已有2位网友发表了一针见血的评论,你还等什么?

必填

选填

选填

记住我,下次回复时不用重新输入个人信息

必填,不填不让过哦,嘻嘻。

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

相关推荐