【实测】DZ论坛如何强制http://跳转到https://的完美解决方法-Discuz教程下载

【实测】DZ论坛如何强制http://跳转到https://的完美解决方法

开通本站Svip会员,全站资源免费下
打开 source/class/class_core.php 文件,在
  1. set_exception_handler(array('core', 'handleException'));
复制代码
后面加入:
  1. if($_SERVER['SERVER_PORT'] != '443' && $_SERVER['PHP_SELF'] != '/api/uc.php') {
  2.          if(!preg_match("/(tuyuanma|Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla)/i", $_SERVER['HTTP_USER_AGENT'])) {
  3.                  header('HTTP/1.1 301 Moved Permanently');
  4.                  header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
  5.                  exit;
  6.          } elseif(preg_match("/(Baidu|Google)/i", $_SERVER['HTTP_USER_AGENT'])) {
  7.                  header('HTTP/1.1 403 Forbidden');
  8.                  exit;
  9.          }
  10. }
复制代码
说明:当访问端口不为443(即https)时,如果不是搜索引擎则跳转到https页面,否则如果是百度或Google蜘蛛(这两个搜索引擎已支持收录https)则返回403禁止访问,避免重复收录 http 和 https 或优先收录了 http ,其它搜索引擎未定义,正常返回 http 页面(其它搜索引擎可能不支持收录 https ,因此开放 http 给他们)。
以上代码中“tuyuanma”可以任意修改,管理员使用以下UA可以不跳转到https,便于对http版进行调测:
Mozilla/5.0 (compatible; Zidingyi/2015; +http://www.xxx.com)

配套教程:(必看)
【原创】兔源码教您如何开启DZ全站https加密证书绿色锁标志
【原创】兔源码教您如何申请永久免费的DNS加速https加密证书站点
【原创】兔源码手把手教您如何配置IIS多域名站点https及多张加密证书https
【实测】DZ论坛如何强制http://跳转到https://的完美解决方法


全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部