php 强制用户转向www域名301实现方法

有时候网站的www域名和非www域名都能访问网站,但是这样不利于搜索引擎的收录,会分散网页的权重,所以希望用户访问非www的域名时通过301永久重定向到www域名,本PHP代码考虑了无法通过head重定向的情况,会在页面输出链接,让用户点击。
PHP强制用户转向www域名,感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。
经测试代码如下:

/**
 * 通过301永久重定向域名
 *
 * @param 
 * @arrange (编程之家) jb51.cc
 **/
// 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.jonasjohn.de but some other 
// applications send host names like www.jonasjohn.de: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.jonasjohn.de'){
    // 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.jonasjohn.de' . $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.jonasjohn.de' . $url.'>Please click here</a>';
 
    // stop the script execution here
    exit;
}
 
// If the domain is www.jonasjohn.de then go on with your PHP code 
// of with your website...
 
// BTW: You need to replace jonasjohn.de trough your own domain :-D


/***   来自编程之家 jb51.cc(jb51.cc)   ***/

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...