本文執行個體講述了php強制使用者轉向www網域名稱的方法。分享給大家供大家參考。具體分析如下:
有時候網站的www網域名稱和非www網域名稱都能訪問網站,但是這樣不利於搜尋引擎的收錄,會分散網頁的權重,所以希望使用者訪問非www的網域名稱時通過301永久重新導向到www網域名稱,例如使用者訪問jb51.net會直接轉向www.jb51.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.jb51.net" but some other // applications send host names like "www.jb51.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.jb51.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: http://www.jb51.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="http://www.jb51.net' . $url.'">Please click here</a>'; // stop the script execution here exit;}// If the domain is www.jb51.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程式設計有所協助。