本文實例講述了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.bkjia.com' . $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.bkjia.com' . $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程序設計有所幫助。