301重定向含义:在网站建设当中,时常会遇到需要网页重定向的情况。比如像网站调整,改变网页目录结构,网页被移到一个新地址,或者是网页扩展名改变,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等都需要301重定向。
以下为个人整理所得8种301重定向代码:
1、IIS下301设置
程序 -> Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
2、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^suolatu.cn [NC]
RewriteRule ^(.*)$ http://www.suolatu.cn/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.suolatu.cn/$1 [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(.+)\.html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
3、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80>
ServerName www.suolatu.cn
DocumentRoot /
</VirtualHost>
<VirtualHost *:80>
ServerName suolatu.cn
RedirectMatch permanent ^/(.*) http://www.suolatu.cn/$1
</VirtualHost>
4、ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.suolatu.cn/articles/301/”
%>
5、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.suolatu.cn/articles/301/“);
}
</script>
6、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”);
header(”Location: http://www.suolatu.cn/articles/301/”);
exit();
7、CGI Perl下的301转向代码
$q = new CGI;
print $q->redirect(”http://www.suolatu.cn/”);
8、JSP下的301转向代码
<%
response.setStatus(301);
response.setHeader( “Location”, “http://www.suolatu.cn/” );
response.setHeader( “Connection”, “close” );
%>
以上代码为个人收集所得,版权归原著所有。

