在 PHP 环境下如何实现 301 重定向将不带 www 的域名跳转到带 www 域名下

学习笔记 马富天 2018-01-24 10:03:35 14 0

【摘要】举个例子:当我们访问 numberer.net 和 www.numberer.net 都是看起来好像是访问了同一个网站,其实不然,而是当我们访问 numberer.net 的时候,设置了 HTTP 状态码为 301 跳转到了 www.numberer.net 网站上。

numberer.net 和 www.numberer.net 是两个完全独立的网站,如果想要实现 numberer.net 和 www.numberer.net ,一般的想法就是做两个虚拟主机,然后虚拟主机中放置的网站代码是完全相同的,但是这一点对 SEO 是非常不利的,指向了相同的网站,搜索引擎爬虫很难区别哪一个是主站,所以导致权重分配出现问题。而另外一种方法就是设置 301 重定向,访问 numberer.net 的时候直接设置跳转到 www.numberer.net 下即可。本文就给出一个实例来讲述如何在虚拟主机环境下使用 PHP 中设置 301 重定向。

基本环境:操作系统:windows,语言:PHP,服务器:Apache

首先将 numberer.net 和 www.numberer.net 都解析到对应的服务器中。如下图所示:

请输入图片名称

然后在我们的服务器中,分别设置 numberer.net 和 www.numberer.net 两个虚拟主机,如下图所示:

请输入图片名称

配置完成后重启 apache 服务器即可。至此,我们将项目代码放入到 www.numberer.net 对应的根目录中,然后在 numberer.net 对应的根目录下创建一个 index.php 文件,里面写入下面代码,设置 301 重定向跳转:

  1. Header("HTTP/1.1 301 Moved Permanently");
  2. Header("Location: http://www.numberer.net");

这样就基本完成了设置,当以上代码并不是唯一的,可以使用另外的方法进行设定。

最后关键问题,如何判断自己所设置的 301 重定向是否成功呢,进入站长工具-HTTP状态码(HTTP Status Code)查询网址:http://tool.chinaz.com/pagestatus/,输入 numberer.net 可以查询到是否设置成功。如下图:

请输入图片名称请输入图片名称

当显示 HTTP 状态码为 301 时说明我们设定成功啦~而显示 200 说明并非是重定向跳转。

版权归 马富天PHP博客 所有

本文标题:《在 PHP 环境下如何实现 301 重定向将不带 www 的域名跳转到带 www 域名下》

本文链接地址:http://www.mafutian.net/360.html

转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

0

0

上一篇《 PHP 实现生成随机字符串 》 下一篇《 Apache 2.2.22 中配置虚拟主机后禁止直接访问 IP 进入网站 》
分享到:

暂无评论

评论审核未开启
表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情 表情
验证码