php强制用户转向www域名的方法

 更新时间:2015年06月19日 16:36:34   作者:不吃皮蛋  
这篇文章主要介绍了php强制用户转向www域名的方法,可实现模拟301重定向的功能,并且针对无法head重定向的情况输出链接,需要的朋友可以参考下

本文实例讲述了php强制用户转向www域名的方法。分享给大家供大家参考。具体分析如下:

有时候网站的www域名和非www域名都能访问网站,但是这样不利于搜索引擎的收录,会分散网页的权重,所以希望用户访问非www的域名时通过301永久重定向到www域名,例如用户访问jb51.net会直接转向www.jb51.net,本php代码考虑了无法通过head重定向的情况,会在页面上输出链接,让用户点击。

// Install info.:
// Copy and paste these lines into your default index.php or
// the file that get's called if a visitor comes on your 
// website...
// read the host from the server environment
$host = $_SERVER["HTTP_HOST"];
// fix host name - we never now... ;-)
$host = strtolower($host);
$host = trim($host);
// This is important: 
// Webbrowsers like Firefox are doing their request without
// the port number like "www.jb51.net" but some other 
// applications send host names like "www.jb51.net:80" 
$host = str_replace(':80', '', $host);
$host = trim($host);
// if the host is not starting with www. redirect the 
// user to the same URL but with www :-)
if ($host != 'www.jb51.net'){
  // You an also change the "!=" to "==", if you want to force 
  // the user to use the domain name without the www. 
  // send status header, so that search engines or other services
  // detect that this is a permanent redirect and not a temporary
  header('HTTP/1.1 301 Moved Permanently');
  // read the URL the user requested:
  $url = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : '';
  // redirect the user to the new destination:
  header('Location: https://www.jb51.net' . $url);
  // Convert "special" chars -- cause we never now... ;-)
  $url = htmlspecialchars($url);
  // "fallback" link, if the browser is not supporting header redirects
  print '<a href="https://www.jb51.net' . $url.'">Please click here</a>';
  // stop the script execution here
  exit;
}
// If the domain is www.jb51.net then go on with your PHP code 
// of with your website...
// BTW: You need to replace jb51.net trough your own domain :-D

希望本文所述对大家的php程序设计有所帮助。

相关文章

  • php实现的中文分词类完整实例

    php实现的中文分词类完整实例

    这篇文章主要介绍了php实现的中文分词类,结合完整实例形式分析了php基于字符串的遍历、转换、运算等技巧实现中文分词功能的具体方法,需要的朋友可以参考下
    2017-02-02
  • PHP遍历某个目录下的所有文件和子文件夹的实现代码

    PHP遍历某个目录下的所有文件和子文件夹的实现代码

    本篇文章是对PHP遍历某个目录下的所有文件和子文件夹的实现代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • ThinkPHP 防止表单重复提交的方法

    ThinkPHP 防止表单重复提交的方法

    防止表单重复提交有很多种方法,其不外乎,客户端脚本防止刷新,服务端token验证等等,thinkphp内置了表单token验证,可以方便的防止表单重复提交
    2011-08-08
  • php批量删除数据

    php批量删除数据

    php批量删除数据...
    2007-01-01
  • PHP手机号码归属地查询代码(API接口/mysql)

    PHP手机号码归属地查询代码(API接口/mysql)

    本文来介绍一下关于手机号码归属地实现方法,我们可以利用api接口与mysql+php来实例有需要的同学看看
    2012-09-09
  • php实现遍历文件夹的方法汇总

    php实现遍历文件夹的方法汇总

    在一般的PHP面试中,有很多都会问及这样的一个问题:写一个能遍历指定文件夹下所有文件和文件夹的方法。下面我们就来汇总下,希望对大家能够有所帮助
    2017-03-03
  • PHP中实现汉字转区位码应用源码实例解析

    PHP中实现汉字转区位码应用源码实例解析

    PHP里如何实现汉字转区位码这个问题一直困扰这大多程序员,那么下面这个源码实例相信能给大家带来很大的帮助。
    2010-06-06
  • php结合ACCESS的跨库查询功能

    php结合ACCESS的跨库查询功能

    有时候我们在开发一些小程序或简单功能的管理系统,又没有mysql数据库的情况下,就可以使用access了,另外有时需要在两个或三个数据库的表中也可通过ACCESS的跨库查询功能实现
    2015-06-06
  • 分析五个Laravel Dusk的使用技巧

    分析五个Laravel Dusk的使用技巧

    Laravel Dusk是 Laravel 的一个表达性强、易于使用,且功能强大的浏览器自动化测试工具。通过 Dusk 可以以编程的方式测试 JavaScript 驱动的应用程序。在使用 Dusk 编写测试案例时,我经常遇到一些限制。现在我在本文中将这些情况以及如何克服分享给大家。
    2021-05-05
  • php 读写json文件及修改json的方法

    php 读写json文件及修改json的方法

    下面小编就为大家分享一篇php 读写json文件及修改json的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03

最新评论