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


Posted in PHP onJune 19, 2015

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

有时候网站的www域名和非www域名都能访问网站,但是这样不利于搜索引擎的收录,会分散网页的权重,所以希望用户访问非www的域名时通过301永久重定向到www域名,例如用户访问3water.com会直接转向3water.com,本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 "3water.com" but some other 
// applications send host names like "3water.com: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 != '3water.com'){
  // 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://3water.com' . $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://3water.com' . $url.'">Please click here</a>';
  // stop the script execution here
  exit;
}
// If the domain is 3water.com then go on with your PHP code 
// of with your website...
// BTW: You need to replace 3water.com trough your own domain :-D

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

PHP 相关文章推荐
php4的session功能评述(三)
Oct 09 PHP
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
php桌面中心(四) 数据显示
Mar 11 PHP
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
PHP读取目录下所有文件的代码
Jan 07 PHP
php生成二维码的几种方式整理及使用实例
Jun 03 PHP
php使用百度天气接口示例
Apr 22 PHP
PHP加密解密实例分析
Dec 25 PHP
PHP执行linux命令常用函数汇总
Feb 02 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
php中使用GD库做验证码
Mar 31 PHP
php+jQuery递归调用POST循环请求示例
Oct 14 PHP
php自动更新版权信息显示的方法
Jun 19 #PHP
php中Snoopy类用法实例
Jun 19 #PHP
php计算整个目录大小的方法
Jun 19 #PHP
php简单计算页面加载时间的方法
Jun 19 #PHP
php实现随机生成易于记忆的密码
Jun 19 #PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 #PHP
php分割合并两个字符串的函数实例
Jun 19 #PHP
You might like
正则表达式语法
2006/10/09 Javascript
php去除数组中重复数据
2014/11/18 PHP
PHP实现的简易版图片相似度比较
2015/01/07 PHP
php实现简单文件下载的方法
2015/01/30 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
thinkPHP5.1框架中Request类四种调用方式示例
2019/08/03 PHP
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
javascript function调用时的参数检测常用办法
2010/02/26 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
json数据的列循环示例
2013/09/06 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
JS和JQ的event对象区别分析
2014/11/24 Javascript
jquery实现动态画圆
2014/12/04 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
浅谈键盘上回车按钮的js触发事件
2017/02/13 Javascript
js实现下拉菜单效果
2017/03/01 Javascript
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
Vue-Router2.X多种路由实现方式总结
2018/02/09 Javascript
vue 全局环境切换问题
2019/10/27 Javascript
浅谈vuex为什么不建议在action中修改state
2020/02/02 Javascript
vuex页面刷新导致数据丢失的解决方案
2020/12/10 Vue.js
[01:48:04]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第一场 2月7日
2021/03/11 DOTA
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Python实现包含min函数的栈
2016/04/29 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
Python程序打包工具py2exe和PyInstaller详解
2019/06/28 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
2020/02/17 Python
Python print不能立即打印的解决方式
2020/02/19 Python
幼儿园老师寄语
2014/04/03 职场文书
九华山导游词
2015/02/03 职场文书
全国爱眼日活动总结
2015/02/27 职场文书
2015年推普周活动总结
2015/03/27 职场文书
2015年安全工作总结范文
2015/04/02 职场文书