本文实例讲述了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程序设计有所帮助。
评论列表:
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 3天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论
发布于 2天前回复该评论