QT论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 427|回复: 0

dz 强制HTTPS http跳转至 https的解决方案

[复制链接]
扫一扫,手机访问本帖
发表于 2018-5-5 21:51:09 | 显示全部楼层 |阅读模式
打开 source/class/class_core.php 文件,在

  1. set_exception_handler(array('core', 'handleException'));
复制代码


后面加入:




  1. if($_SERVER['SERVER_PORT'] != '443' && $_SERVER['PHP_SELF'] != '/api/uc.php') {         if(!preg_match("/(Qtvcd|Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", $_SERVER['HTTP_USER_AGENT'])) {                 header('HTTP/1.1 301 Moved Permanently');                 header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);                 exit;         } elseif(preg_match("/(Baidu|Google)/i", $_SERVER['HTTP_USER_AGENT'])) {                 header('HTTP/1.1 403 Forbidden');                 exit;         } }
复制代码


说明:当访问端口不为443(即https)时,如果不是搜索引擎则跳转到https页面,否则如果是百度或Google蜘蛛(这两个搜索引擎已支持收录https)则返回403禁止访问,避免重复收录 http 和 https 或优先收录了 http ,其它搜索引擎未定义,正常返回 http 页面(其它搜索引擎可能不支持收录 https ,因此开放 http 给他们)。
以上代码中“Qtvcd”可以任意修改,管理员使用以下UA可以不跳转到https,便于对http版进行调测:
Mozilla/5.0 (compatible; Zidingyi/2015; +http://www.xxx.com)



免责条款:本站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。

QT论坛 ( 鲁ICP备14016835-1号 )

GMT+8, 2018-12-15 04:10

Powered by QT语音论坛

© 2012-2018 QTvcd Inc.

快速回复 返回顶部 返回列表