一个网站空间绑定2个域名的301重定向死循环解决方法

seo,网站优化

一个网站空间绑定2个域名,为什么要重定向?

请查看:301重定向解决双域名权重分散

要实现301重定向方法很多:

1、在mod_rewrite模式下可以新建.htaccess文件,如以下为将125jz.com重定向到www.125jz.com的例子代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^125jz.com[NC]
RewriteRule ^(.*)$ http://www.125jz.com/$1 [L,R=301]

但很多主机用的是WIN系统的,而且还是虚拟主机,无法设置IIS来做301重定向,那么则多用代码来实现,比如网上很多的ASP、PHP、.NET等301重定向代码。

2、ASP主机301重定向
在 index.asp 或 default.asp 的最顶部加入以下几行:
代码如下:

<% 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://www.125jz.com"
Response.End 
%>

3、PHP代码:

<? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.125jz.com" );?>

但是上面这种代码只适用于网站域名更换的情况下,即不同的域名和不同的空间根目录,把上面代码放置于旧站网站文件的顶部即可,这时访问旧站时就会重定向到新站www.xin126.cn。如果网站是属于一个网站空间绑定2个域名,2个域名的根目录为同一个时,那么就会出现死循环了。

如果是一个网站绑定多个域名情况,将不带WWW的子域名或其他域名重定向到一个主域名,那么只需要加个判断:
ASP重定向代码:

<%
if request.ServerVariables("HTTP_HOST")="xin126.cn"  then 
Response.Status="301 Moved Permanently" 
Response.AddHeader "Location","http://www.125jz.com"
Response.End 
end if 
%>

PHP重定向代码:

<?php
$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分
if($the_host !== '125jz.com')//旧域名或子域名地址
{
header('HTTP/1.1 301 Moved Permanently');//发出301头部
header('Location: http://www.125jz.com'.$request_uri);//跳转到我的新域名地址
}
?>

这时访问125jz.com就会301重定向到www.125jz.com了。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/9064.html

(0)
江山如画的头像江山如画管理团队
上一篇 2020年12月27日 上午7:56
下一篇 2020年12月27日 上午8:47

99%的人还看了以下文章

发表回复

登录后才能评论