301跳转通常用在网站换域名和为了保持链接统一性所用的。比如原来的域名www.a.com现在换成www.b.com,用了301跳转后,访问www.a.com/about.html就会自动变成www.b.com/about.html。下面摘抄一下设置301的代码:301跳转代码全集(ASP|PHP|JSP|.NET):
IIS下301设置:
Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.boaer.com/”
%>
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.boaer.com/”)
}
</script>
PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”)
header(”Location: http://www.boaer.com/”)
exit()
CGI Perl下的301转向代码
$q = new CGI
print $q->redirect(”http://www.boaer.com/”)
JSP下的301转向代码
<%
response.setStatus(301)
response.setHeader( “Location”,“http://www.boaer.com/” )
response.setHeader( “Connection”,“close” )
%>
Apache下vhosts.conf中配置301转向,为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80>
ServerName www.boaer.com
DocumentRoot
</VirtualHost>
<VirtualHost *:80>
ServerName xxx.com
RedirectMatch permanent ^/(.*) http://www.boaer.com/$1
</VirtualHost>
Apache下301转向代码,新建.htaccess文件,输入下列内容(需要开启mod_rewrite):1)将不带WWW的域名转向到带WWW的域名下:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^xxx.com [NC]
RewriteRule ^(.*)$ http://www.boaer.com/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.boaer.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
301设置好这后,就要检测一下301是否生效。这里有两个在线检测301重定向的工具:
国内版:http://tool.chinaz.com/pagestatus/
国外版:http://www.seoconsultants.com/tools/headers#Results
301重定向方案合集asp301,php301,伪静态301,ASP.Net的301,JSP的301,Apache做301
IIS下直接301设置
Internet信息服务管理器 ->虚拟目录 ->重定向到URL,输入需要转向的目标URL,并选择“资源的永久重定向”。
这个需要服务器直接操作,部分空间商不会给做。介于空间管理程序和方法各不相同,例如之后的WEB操作管理 有可能导致301间接失效,所以如果不是自己独立服务器 不建议直接操作。如果是咱们云主机系列,可直接提交工单稍等即可。
条条大路通罗马咱还有其他备用方案:
1、服务器装有isapi-rewirte组件,用户间的伪静态完全独立,互不干涉 使用通用的规则 自定义程度较高,可以直接在原伪静态规则文件httpd.ini 加上301跳转代码,立即生效。
【详解:利用 ISAPI Rewrite 做301永久重定向】
[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteEngine On
RewriteCond Host: ^boaer\.com$
RewriteRule (.*) http\://www\.boaer\.com$1 [I,RP]
注:----URL标准化的301重定向(以上代码)需要写在其他URL-rewrite代码之前。----
2、ASP下的301转向代码
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.*****/***/301/”
%>
3、转向代码
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”
Response.AddHeader(”Location”,”http://www.*****.cn/***/301/“)
}
</script>
4、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”)
header(”Location: http://www.*****.cn/***/301/”)
exit()
5、CGI Perl下的301转向代码
$q = new CGI
print $q->redirect(”http://www.*****.com/”)
6、转向代码
<%
response.setStatus(301)
response.setHeader( “Location”, “http://www.*****.cn/” )
response.setHeader( “Connection”, “close” )
%>
7、转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]
RewriteRule ^(.*)$ http://www.*****.cn/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.*****.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
8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80>
ServerName www.*****.cn
DocumentRoot /home/lesishu
</VirtualHost>
<VirtualHost *:80>
ServerName lesishu.cn
RedirectMatch permanent ^/(.*) http://www.*****.cn/$1
</VirtualHost>
Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档。
祝:所有站长 网站火火 每天都有好心情!!!
301转向情况检测
http://www.seoconsultants.com/tools/headers.asp
http://www.internetofficer.com/seo-tool/redirect-check/
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)