MENU

Typecho重定向笔记

August 12, 2019 • Typecho笔记

实现的效果

  • 实现Https访问
  • 多域名跳转到单域名

适用的环境

  • Linux + Nginx + php + mysql
  • linux + apache + php + mysql
  • linux + nginx + apache + php + mysql
  • windows + iis + php + mysql

解决方法

  • 网站根目录新建301.php,粘贴以下内容
<?php
$Main_domain = 'www.iyuu.cn';            //主域名
$Current_host = $_SERVER['HTTP_HOST'];    //当前访问域名

if($Current_host != $Main_domain){
    $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;
}else{
    if (is_HTTPS()) {
        //不做操作
    } else {
        $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;
}
  • config.inc.php合适的位置引用
:require_once '301.php';
Archives QR Code Tip
QR Code for this page
Tipping QR Code