• -------------------------------------------------------------
  • ====================================

多域名单主机下301重定向解决办法,防死循环。转载

建站指南 dewbay 8年前 (2015-12-31) 3171次浏览 已收录 2个评论 扫描二维码

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

1、在 mod_rewrite 模式下可以新建.htaccess 文件,如以下为将 soola.net重定向http://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” );?>
但是上面这种代码只适用于网站域名更换的情况下,即不同的域名和不同的空间根目录,把上面代码放置于旧站网站文件的顶部即可,这时访问旧站时就会重定向到新站http://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 重定向到http://www.soola.net了。

转载出处:http://www.soola.net/webseo/SEOzt_1299_103.html


露水湾 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:多域名单主机下301重定向解决办法,防死循环。转载
喜欢 (2)
[]
分享 (0)
关于作者:
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 很有帮助
    路人甲2016-01-01 14:27 回复 Android 4.4.4 | Firefox浏览器 43.0