网址转向301重定向方法大全(HTML/ASP/ASPX/CGI/PHP/JSP)


    301重定向(也叫301转向,301跳转)对网站优化所起的作用是不可忽视的,尤其是针对SE(搜索引擎)处理网站页面权重的时候,更加显得重要。网站换了新域名,默认首页需要跳转等,从SEO角度来说,我们都建议使用301重定向,而不是JS跳转或META REFRESH或302转向,这些很容易引来SE的惩罚。

什么是301重定向呢?

301重定向是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息 (header)中的状态码的一种,表示本网页永久性转移到另一个地址。其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

为什么要用301转向?

网址转向方法主要包括:301转向,302转向,Javascript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。


(一)如果你使用的是独立服务器, 你可以在服务器端配置301重定向。此方法可以将原来域名下的所有页面转移到新的域名下相同的页面。

1. windows服务器可以在 IIS 里设置
IIS信息管理器 -- 选择网站 -- 属性 -- 主目录 -- 选重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”
截图如下:



2. linux服务器则修改Apache的配置文件

Apache下301转向代码新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

1)将不带WWW的域名转向到带WWW的域名下Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yongzi.com [NC]
RewriteRule ^(.*)$ /$1 [L,R=301]

2)重定向到新域名Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ /$1 [L,R=301]

3)使用正则进行301转向,实现伪静态Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1将news.php?id=123这样的地址转向到news-123.html

4)Apache下vhosts.conf中配置301转向为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:<VirtualHost *:80>
ServerName www.yongzi.com
DocumentRoot /home/lesishu
</VirtualHost><VirtualHost *:80>
ServerName lesishu.cn
RedirectMatch permanent ^/(.*) /$1
</VirtualHost>







(二)如果你使用的是虚拟主机, 则可以通过编写代码方式来实现301重定向


1)HTML静态页面下使用Javascript的301重定向代码

<script language=javascript>
if (document.domain =='yourolddomain')
    this.location = "http://www.yongzi.com" + this.location.pathname + this.location.search;
</script>




2)ASP下的301重定向

<%@ Language=VBscri&#112;t %>

<%

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://www.yongzi.com"

%>




3)PHP用代码实现301重定向的方法


{?php

header("HTTP/1.1 301 Moved Permanently");

header("Location:http://www.yongzi.com");

exit();

?}





4)CGI Perl下的301重定向代码

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




5)JSP下的301转向代码

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



6) 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.yongzi.com");
}
</script>



7)ColdFusion 301 重定向代码

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


[本日志由 随然 于 2011-04-26 03:40 PM 编辑]
上一篇: 将ASP动态网页转换成和生成HTML静态页面的方法
下一篇: 如何下载带井号(#)的文件,比如用迅雷下载数据库文件
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 服务器 网站
相关日志:
评论: 36 | 引用: 0 | 查看次数: 14079
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1 字 | UBB代码 关闭 | [img]标签 关闭