史上最全的301重定向设置代码

现在网上有很多说法,就拿PHP的网站程序来说,很多人说修改index.php文件可以做301重定向,这样可以看似301重定向成功了,但用301检测工具会发现做了两次301重定向,最后转到的200是index.html。 

史上最全的301重定向设置代码

1、这里说一下采用web.config配置文件做301重定向。主机需支持Urlrewrite,一般情况下主机都支持Urlrewrite 的,一个小模块,空间商都会安装上。 

下面是web.config文件:不管是24241.net转向www.24241.net,还是网站换新域名都可以。 

比如www.fdjlt.com转向www.24241.net 

<configuration> 

<system.webServer> 

<rewrite> 

<rules> 

<rule name="WWW Redirect" stopProcessing="true"> 

<match url=".*" /> 

<conditions> 

<add input="{HTTP_HOST}" pattern="^需要转的域名$" /> 

</conditions> 

<action type="Redirect" url="http://要转到的域名/{R:0}" 

redirectType="Permanent" /> 

</rule> 

</rules> 

</rewrite> 

</system.webServer> 

</configuration>

将修改好的文件上传到网站的根目录。这里由于上传不了文件,所以教大家用DW创建web.config文件。用DW新建一个XML,把新创建XML里的代码删除,将上面的代码复制到新创建的XML里,点击菜单文件—另存为—修改名字和后缀,即文件名改为web.config。然后将该文件上传到网站根目录就OK了。最后到主机控制面板看下默认主页是否是index.html,要将默认主页修改为index.html才行。 


2、IIS下301设置 

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


3、ASP下的301转向代码

<%@ Language=VBScript %> 

<% 

if request.ServerVariables("SERVER_NAME")="bbs.xbsma.com" or request.ServerVariables("SERVER_NAME")="xbsma.com" then 

Response.Status="301 Moved Permanently" 

Response.AddHeader "Location", "http://www.xbsma.com/" 

Response.End 

end if 

%> 


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

<script runat=”server”> 

private void Page_Load(object sender, System.EventArgs e) 

Response.Status = “301 Moved Permanently”; 

Response.AddHeader(”Location”,”www.xbsma.com/301/“); 


5、CGI Perl下的301转向代码

$q = new CGI; 

print $q->redirect(”www.xbsma.com/301/”);


6、JSP下的301转向代码

<% 

response.setStatus(301); 

response.setHeader( “Location”, “www.xbsma.com/301/ ); 

response.setHeader( “Connection”, “close” ); 

%> 


7、Apache下301转向代码

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

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

Options +FollowSymLinks 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^24241.net [NC] 

RewriteRule ^(。*)$www.xbsma.com/301/[L,R=301] 

2)重定向到新域名 

Options +FollowSymLinks 

RewriteEngine on 

RewriteRule ^(。*)$www.xbsma.com/301/ [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.xbsma.com/ 

DocumentRoot /home/xbsma 

</VirtualHost> 

<VirtualHost *:80> 

ServerName xbsma.com 

RedirectMatch permanent ^/(。*) www.xbsma.com/301/ 

</VirtualHost>

 

上面说过这种跳转方式是搜索引擎认可的,搜索引擎的设计者以及考虑到一个域名并不一定会跟随一个网站一辈子,利用这种跳转方式可以让搜索引擎认 为您“永久”放弃这个域名并启用了新的域名,那么搜索引擎会把你的老域名相应权重转移到新的域名上来。不过这里要说明一下,并不是通过301跳转就能使权 重完全转移的,这个还有很多因素决定。

欢迎转载,转载时请您以链接形式注明来源! 本文地址:http://www.seobn.com/432.html
上一篇:个人网站建设简洁流程
下一篇:【网站安全】网站被挂木马与777权限的奥妙