PHP 实现http重定向https 或不带www的域名跳转到主域名

通过代码的方式的,比较简洁,容易控制.通过iis管理器的url重写或301重定向,总是出现各种冲突问题
如果你一个服务器上安装了多个独立域名的多个网站,那么,前提条件是.服务器上至少是iis8版本,如果第一个是默认的,第二个,第三个网站要同时绑定两个https域名,即12.com与www.12.com类似这样.否则,会跳转失败.因为会跳转到默认的第一个网站上面去.
比如这样: 详细教程在这里https://blog.csdn.net/viqecel/article/details/136699605

在这里插入图片描述
在这里插入图片描述

以下代码解释.如果访问的url中,不是https安全链接.或者是不带www的域名,则说明都不符合本站的要求,那么,都需要进行完整链接(https://www.12.com)的跳转,不再做进一步的判断

if ($_SERVER['HTTPS'] == 'off' or $_SERVER['HTTP_HOST']=== '12.com' ) {
  // 静态跳转到 www.12.com ,域名写死了,如果以后修改域名,或网站有多个域名.可能会遇到问题.
    $redirectURL = 'https://www.12.com'  . $_SERVER['REQUEST_URI'];
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: ' . $redirectURL);
   exit();
}

如果不关心www主域名问题.则直接判断是否是https就行了,以下是百度上的答案


// 检查是否是HTTP
if ($_SERVER['HTTPS'] !== 'on') {
    // 是HTTP,计算当前URL的路径
    $current_url = $_SERVER['REQUEST_URI'];
    // 用的动态域名,不影响多域名问题
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $current_url);
    exit(); 
}
// 其他代码...

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值