本文实例讲述了php强制用户转向www域名的方法。分享给大家供大家参考。具体分析如下:
有时候网站的www域名和非www域名都能访问网站,但是这样不利于搜索引擎的收录,会分散网页的权重,所以希望用户访问非www的域名时通过301永久重定向到www域名,例如用户访问bitscn.com会直接转向www.bitscn.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 www.bitscn.com but some other // applications send host names like www.bitscn.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 != 'www.bitscn.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: http://www.bitscn.com' . $url); // convert special chars -- cause we never now... ;-) $url = htmlspecialchars($url); // fallback link, if the browser is not supporting header redirects print 'please click here'; // stop the script execution here exit;}// if the domain is www.bitscn.com then go on with your php code // of with your website...// btw: you need to replace bitscn.com trough your own domain :-d
希望本文所述对大家的php程序设计有所帮助。