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

yipeiwu_com7年前PHP代码库

本文实例讲述了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: //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="//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判断是否是连乘数字串的方法示例

描述 有这样一道题,给出一个数字串A,需要判断A是否为连乘数字串,连乘数字串的定义就是一个数字串可以拆分成若干个数字,后面的数字(从第N个数字开始)为前面2个数字的乘积。 举例 (1)...

收集的二十一个实用便利的PHP函数代码

PHP 是目前使用最广泛的基于 Web 的编程语言,驱动着数以百万计的网站,其中也包括如 Facebook 等一些大型站点。这里收集了 21 段实用便捷的 PHP 代码摘录,对每种类型的...

Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

Windows上php5.6操作mongodb数据库示例【配置、连接、获取实例】

本文实例讲述了Windows上php5.6操作mongodb数据库的方法。分享给大家供大家参考,具体如下: 一、配置 针对不同线程安全、VC版本的 PHP 发行版,可从 PECL 获取到...

PHP 实现explort() 功能的详解

复制代码 代码如下:<?php/** * PHP 实现explort() 功能的详解 */$str = ',1,2,3,4,321321,aaa,bbb';fu...

PHP检测一个数组有没有定义的方法步骤

PHP检测一个数组有没有定义的方法步骤

php中定义数组的方法: 1、PHP定义数组的格式: 数组名=array(); 如:$aa=array();//这样就定义了一个数组, 之后给元素赋值: $aa[0]="90...