24小时咨询热线13922395952
当前位置:网站首页 > 新闻资讯 >搜浪观点 > 2个域名绑定同一空间遇到301重定向死循环解决方法(转载)
2个域名绑定同一空间遇到301重定向死循环解决方法(转载)
日期:2012-04-18     浏览:1633     作者:搜浪君
关键词:广州网站优化

2个域名绑定同一空间遇到301重定向死循环解决方法(转载)

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

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

RewriteEngine On

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

RewriteRule ^(.*)$ http://www.soola.net/$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.soola.net"

Response.End

%>

3、PHP代码:

<? Header( "HTTP/1.1 301 Moved Permanently" );

Header( "Location: http://www.soola.net" );?>

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

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

ASP重定向代码:

<%

if request.ServerVariables("HTTP_HOST")="soola.net"  then

Response.Status="301 Moved Permanently"

Response.AddHeader "Location","http://www.soola.net"

Response.End

end if

%>

PHP重定向代码:

<?php

$the_host = $_SERVER['HTTP_HOST'];//取得进入所输入的域名

$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判断地址后面部分

if($the_host !== 'soola.net')//旧域名或子域名地址

{

header('HTTP/1.1 301 Moved Permanently');//发出301头部

header('Location:http://www.soola.net'.$request_uri);//跳转到我的新域名地址

}

?>

这时访问soola.net就会301重定向到www.soola.net了。


返回列表
联系方式
销售电话:13922395952(黄经理)
售中客服:337604623(QQ)欧小姐
售后客服:2101996011(QQ)黄小姐
微信公众号
网站首页 业务热线 提交需求 官方微信