301永久重定向跳转代码

在SEO中,为了域名,集中域名支重,通常做301,把顶级域名跳转到www二级域名。

下面就介绍一些代码实现的方法:

说明:有些空间支持在主机管理面板设置的,就可以不用代码。

1、IIS下301设置

Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。

2、ASP下的301转向代码

<%
if request.ServerVariables("HTTP_HOST")="menglei.net" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://blog.menglei.net/"
Response.End
end if
%>

<%@ Language=VBScript %>

<%

Response.Status=”301 Moved Permanently”

Response.AddHeader “Location”, “http://blog.menglei.net/html/301/”

%>

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://blog.menglei.net/html/301/“);

}

</script>

4、PHP下的301转向代码

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

header(”Location: http://blog.menglei.net/html/301/”);

exit();

5、CGI Perl下的301转向代码

$q = new CGI;

print $q->redirect(”http://blog.menglei.net”);

6、JSP下的301转向代码

<%

response.setStatus(301);

response.setHeader( “Location”, “http://blog.menglei.net” );

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://blog.menglei.net$1 [L,R=301]

2)重定向到新域名

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^(.*)$ http://blog.menglei.net/html$1 [L,R=301]

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

Options +FollowSymLinks

RewriteEngine on

RewriteRule ^news-(.+).html$ news.php?id=$1

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

8、Apache下vhosts.conf中配置301转向

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

<VirtualHost *:80>

ServerName www.menglei.net

DocumentRoot /home/lesishu

</VirtualHost>

<VirtualHost *:80>

ServerName lesishu.cn

RedirectMatch permanent ^/(.*) http://blog.menglei.net/$1

</VirtualHost>