有多个域名绑定了一个网站,同时启用了https,例如:www.iyuu.cn和iyuu.cn都绑定了typecho博客。
如何实现统一跳转至https://www.iyuu.cn ,实现单域名访问呢?
如何实现统一跳转至https://www.iyuu.cn ,实现单域名访问呢?
解决方案
1、进入 typecho后台 - 设置 -站点地址 为:https://www.iyuu.cn
2、复制以下代码,另存为301.php
,并放入网站根目录
<?php
$Main_domain = 'www.iyuu.cn'; //主域名
$On_https = false; //强制跳转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;
}
3、打开config.inc.php
,在首行引用:require_once '301.php';
适用环境
1.Linux + Nginx + php + mysql
2.linux + apache + php + mysql
3.linux + nginx + apache + php + mysql
4.windows + iis + php + mysql
2.linux + apache + php + mysql
3.linux + nginx + apache + php + mysql
4.windows + iis + php + mysql
其他情况
版权属于:大卫科技Blog
本文链接:https://www.iyuu.cn/archives/29/
转载时须注明出处