当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-01 10:12:59 浏览: 评论:0 

这篇文章主要介绍了php强制用户转向www域名的方法,可实现模拟301重定向的功能,并且针对无法head重定向的情况输出链接,需要的朋友可以参考下

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

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

  1. // Install info.: 
  2. // Copy and paste these lines into your default index.php or 
  3. // the file that get's called if a visitor comes on your  
  4. // website... 
  5. // read the host from the server environment 
  6. $host = $_SERVER["HTTP_HOST"]; 
  7. // fix host name - we never now... ;-) 
  8. $host = strtolower($host); 
  9. $host = trim($host); 
  10. // This is important:  
  11. // Webbrowsers like Firefox are doing their request without 
  12. // the port number like "www.phpfensi.com" but some other  
  13. // applications send host names like "www.phpfensi.com:80"  
  14. $host = str_replace(':80'''$host); 
  15. $host = trim($host); 
  16. // if the host is not starting with www. redirect the  
  17. // user to the same URL but with www :-) 
  18. if ($host != 'www.phpfensi.com'){ 
  19.   // You an also change the "!=" to "==", if you want to force  
  20.   // the user to use the domain name without the www.  
  21.   // send status header, so that search engines or other services 
  22.   // detect that this is a permanent redirect and not a temporary 
  23.   header('HTTP/1.1 301 Moved Permanently'); 
  24.   // read the URL the user requested: 
  25.   $url = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : ''
  26.   // redirect the user to the new destination: 
  27.   header('Location: https://www.phpfensi.com' . $url); 
  28.   // Convert "special" chars -- cause we never now... ;-) 
  29.   $url = htmlspecialchars($url); 
  30.   // "fallback" link, if the browser is not supporting header redirects 
  31.   print '<a href="https://www.phpfensi.com' . $url.'">Please click here</a>'
  32.   // stop the script execution here 
  33.   exit
  34. // If the domain is www.phpfensi.com then go on with your PHP code  
  35. // of with your website... 
  36. // BTW: You need to replace phpfensi.com trough your own domain :-D

Tags: php转向www域名

分享到: