本文实例讲述了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程序设计有所帮助。