php强制用户转向www域名的方法
author:一佰互联 2019-04-28   click:202

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

有时候网站的www域名和非www域名都能访问网站,但是这样不利于搜索引擎的收录,会分散网页的权重,所以希望用户访问非www的域名时通过301永久重定向到www域名,例如用户访问jb51.net会直接转向www.yinxi.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.yinxi.net" but some other // applications send host names like "www.yinxi.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.yinxi.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.yinxi.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.yinxi.net" . $url."">Please click here</a>";  // stop the script execution here  exit;}// If the domain is www.yinxi.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程序设计有所帮助。