网站优化301转向在不同环境下的应用

什么是301转向?

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

其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向,等等。

为什么要做网址转向?

除了前面介绍过的网址规范化问题外,还有很多需要做网址转向的情形。比如,为保护版权,你拥有不同TLD的多个域名:

company.com
company.net
company.org
company.com.cn
company.cn
等等。

很自然这些域名全部指向一个网站。如用company.com为主域名,其它域名就可以转向到company.com。

或者你注册了公司全称域名longcompanyname.com,但太长 ,你也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个就可以转向到主域名。

为什么要用301转向?

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

1、ASP下的301转向代码

 

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

3、ASP.Net下的301转向代码

 

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

4、PHP下的301转向代码

 

header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://chinaz.com/”);
exit();

5、CGI Perl下的301转向代码

$q = new CGI;
print $q->redirect(”http://chinaz.com/”);

 

6、JSP下的301转向代码

 

<%
response.setStatus(301);
response.setHeader( “Location”, “http://chinaz.com/” );
response.setHeader( “Connection”, “close” );
%>

7、Apache下301转向代码

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):

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

 

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

2)重定向到新域名

 

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

3)使用正则进行301转向,实现伪静态

 

Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+).html$ news.php?id=$1

将news.php?id=123这样的地址转向到news-123.html

相关文章:


Copyright 龙媒时代- 深圳seo 深圳seo www.networlds.cn. Some Rights Reserved.