通过代码来实现301跳转的方法有:
1、IIS下301设置
Internet信息服务管理器 → 虚拟目录 → 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
2、ASP下的301重定向代码
<%@ Language=VBScript %><%
if request.ServerVariables("SERVER_NAME")="blog.yisu.com" or
request.ServerVariables("SERVER_NAME")="yisu.com" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.yisu.com/"
Response.End
end if
%>
3、ASP.Net下的301重定向代码
<script runat=”server”>private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”www.yisu.com/301/“);
}
</script>
4、PHP下的301重定向代码
if(($HTTP_SERVER_VARS["HTTP_HOST"]=="blog.yisu.com")||($HTTP_SERVER_VARS["HTTP_HOST"]=="seotest.com"))
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.yisu.com/");
}
5、CGI Perl下的301重定向代码
$q = new CGI;print $q->redirect(”www.yisu.com/301/”);
6、JSP下的301重定向代码
<%response.setStatus(301);
response.setHeader( “Location”, “www.yisu.com/301/ );
response.setHeader( “Connection”, “close” );
%>
7、Apache下301重定向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinksRewriteEngine on
RewriteCond %{HTTP_HOST} ^yisu.com [NC]
RewriteRule ^(.*)$www.yisu.com/301/[L,R=301]
2)重定向到新域名
Options +FollowSymLinksRewriteEngine on
RewriteRule ^(.*)$wwww.yisu.com/301/ [L,R=301]
3)使用正则进行301重定向,实现伪静态
Options +FollowSymLinksRewriteEngine 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.yisu.com/
DocumentRoot /home/yisu
</VirtualHost>
<VirtualHost *:80>
ServerName seotest.com
RedirectMatch permanent ^/(.*) www.yisu.com/301/
</VirtualHost>
9.让zblog不带www的域名重定向到www的方法
打开博客根目录default.asp,在<!--#include file="class/cls_logAction.asp" -->一行下面添加一下代码即可。
<%if request.ServerVariables("SERVER_NAME")="yisu.com" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.yisu.com/"
Response.End
end if
%>