Categories

A sample text widget

Etiam pulvinar consectetur dolor sed malesuada. Ut convallis euismod dolor nec pretium. Nunc ut tristique massa.

Nam sodales mi vitae dolor ullamcorper et vulputate enim accumsan. Morbi orci magna, tincidunt vitae molestie nec, molestie at mi. Nulla nulla lorem, suscipit in posuere in, interdum non magna.

PHP下,将不带www的域名跳转到带www的域名

之前有一个301跳转汇总的贴子,写和一些有关301跳转的各种方法,但是有时候我们会有特殊要求,比如:我现在的域名需要将不带www的跳转到带www的域名中,网站又不支持.htaccess,怎么办?

一般这种情况,我们为了避免出现大量的不带www的域名页面被收录,可以只把首页进行跳转,大多数情况下,只要将首页跳转到带www的域名下,那么内页就很少有不带www域名的页面被收录的情况,其实这个很简单,拿PHP做例子(其他的因为没有环境测试,所以就不列出了):

查了一下google,有人写了一个PHP程序,是将多个域名映射在同一空间下,内容如下:
<?php
$domain_cn=”jarfee.cn”;
$domain_com=”google.com”;
$dot_cn_url=”/blog/”;
$dot_com_url=”index.php”;
if(($HTTP_HOST==”$domain_cn”) or ($HTTP_HOST==”www.$domain_cn”))
{
Header(“Location: $dot_cn_url”);
}
elseif(($HTTP_HOST==”$domain_com”) or ($HTTP_HOST==”www.$domain_com”))
{
Header(“Location: $dot_com_url”);
}
else
{
include_once(“index.php”);
}
?>
这个程序主要是将google.com和jarfee.cn映射到同一个空间里,我们可以用它的前部分来进行我们的从不带www域名跳转到带www域名:
<?php
if($HTTP_HOST== “jarfee.cn”)
{
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.jarfee.cn/”);
}
?>

可是,经过测试,这个是错误的,错到哪里?
Notice: Undefined variable: HTTP_HOST in F:\jarfee.cn\htdocs\goods.php on line 13

查看了下,这个错误主要是php发现HTTP_HOST未定义,怎么会出现这个情况?又查询了下Google发现,这个$HTTP_HOST有时候并不能准确的获取域名信息,可以用$_SERVER['HTTP_HOST'] 代替:

<?php
if($_SERVER['HTTP_HOST'] == “jarfee.cn”)
{
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.jarfee.cn/”);
}
?>

成功!(如果要参考上面信息,将里面的jarfee.cn换成你自己的域名)

Leave a Reply

  

  

  

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>