有多个域名绑定了一个网站,同时启用了https,例如:www.qian3ye.com和qian3ye.com都绑定了typecho博客。
如何实现统一跳转至https://www.qian3ye.com ,实现单域名访问呢?

转自:typecho多域名301重定向跳转单域名https的解决思路

第一步: 在typecho根目录下创建301.php,文件名可随意起,内容如下:

<?php
$Main_domain = 'www.qian3ye.com';            //主域名
$On_https = true;    //强制跳转https 可选true false
if(($_SERVER['HTTP_HOST'] != $Main_domain) || (!is_HTTPS() && $On_https)){
    $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';    //判断地址后面是否有参数
    header('HTTP/1.1 301 Moved Permanently');    //发出301头部
    header('Location: https://'.$Main_domain.$request_uri);    //跳转到你希望的地址格式
    exit;
}

function is_HTTPS()
{
    if (!isset($_SERVER['HTTPS'])) return FALSE;
    if ($_SERVER['HTTPS'] === 1) {  //Apache
        return TRUE;
    } elseif ($_SERVER['HTTPS'] === 'on') { //IIS
        return TRUE;
    } elseif ($_SERVER['SERVER_PORT'] == 443) { //其他
        return TRUE;
    }
    return FALSE;
}

第二步: 打开typecho根目录下的config.inc.php文件,在首行(除了<?php的第一行)添加如下代码:

require_once '301.php'; // 文件名就是第一步创建的文件名

标签: typecho, 301, 重定向, www域名

评论已关闭