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

通过代码的方式的,比较简洁,容易控制.通过iis管理器的url重写或301重定向,总是出现各种冲突问题

以下代码解释.如果访问的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(); 
}
// 其他代码...

相关推荐

  1. nginx域名另一个域名

    2024-03-18 14:48:04       25 阅读
  2. Apace配置+http定向https

    2024-03-18 14:48:04       78 阅读
  3. 利用 cloudflare 实现域名HTTP转变成 HTTPS

    2024-03-18 14:48:04       47 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-18 14:48:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-18 14:48:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-18 14:48:04       82 阅读
  4. Python语言-面向对象

    2024-03-18 14:48:04       91 阅读

热门阅读

  1. 安卓UI面试题 61-65

    2024-03-18 14:48:04       39 阅读
  2. 【自动化】在C#中创建和配置串口对象SerialPort

    2024-03-18 14:48:04       39 阅读
  3. AI - 聚类算法

    2024-03-18 14:48:04       40 阅读
  4. Linux 15个常用脚本练习(初级)

    2024-03-18 14:48:04       42 阅读
  5. 数字华容道项目总结

    2024-03-18 14:48:04       39 阅读
  6. Git ignore: 忽略与清除

    2024-03-18 14:48:04       42 阅读
  7. 编程语言的生态系统

    2024-03-18 14:48:04       39 阅读
  8. 2024/3/17 TCP的进程和线程通信,模拟面试总结

    2024-03-18 14:48:04       40 阅读