您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程

Discuz全站HTTPS访问的实现方法

雅琴2025-06-29Discuz教程已有人查阅

导读在主机开启 SSL 功能后,https 访问倒是正常的,但浏览器上的绿色小锁并没有出现,而且网站导航上的链接还是 http 的。网站开启 https 加密访问, 现在基本已经成为标配了。之前“

在主机开启 SSL 功能后,https 访问倒是正常的,但浏览器上的绿色小锁并没有出现,而且网站导航上的链接还是 http 的。
网站开启 https 加密访问, 现在基本已经成为标配了。之前“中华马氏网”是托管在阿里云的虚拟主机上的,无法实现 SSL 加密访问,这次迁移到老薛主机后,可以一键开启 SSL 功能。
但在主机开启 SSL 功能后,https 访问倒是正常的,但浏览器上的绿色小锁并没有出现,而且网站导航上的链接还是 http 的,显然网站的 https 访问设置并不完全。
网站是用 Discuz! X 3.4 Release 20171001 搭建的,这个 php 网络论坛程序近几年已经很少更新,估计没有添加上 https 访问的功能设置。在官方论坛上看到了一则相关的修改文章,按步骤操作后,成功实现绿色小锁,特介绍给大家。
一、需要修改3个源文件(修改前请记得做好文件备份):
1、 source/class/discuz/discuz_application.php (大概在第 190 行处)
查找:
$_G[‘isHTTPS’] =
这一行直接修改为:
$_G[‘isHTTPS’] = true;
2、 uc_server/avatar.php(约第13行处)
查找:
define(‘UC_API’, strtolower(($_SERVER[‘HTTPS’] == ‘on’ ? ‘https’ : ‘http’).’://’.$_SERVER[‘HTTP_HOST’].substr($_SERVER[‘PHP_SELF’], 0, strrpos($_SERVER[‘PHP_SELF’], ‘/’))));
修改为:
define(‘UC_API’, strtolower(($_SERVER[‘SERVER_PORT’] == 443 || $_SERVER[‘HTTPS’] == ‘on’ ? ‘https’ : ‘http’).’://’.$_SERVER[‘HTTP_HOST’].substr($_SERVER[‘PHP_SELF’], 0, strrpos($_SERVER[‘PHP_SELF’], ‘/’))));
3、template/default/common/header.htm
查找: http://全部替换为: https://
二、完成源代码修改后,还需更改4处网站设置。
1、在后台 - 全局 - 网站 URL 填写
https://你的网址
2、在后台 站长 - UCenter 设置 - UCenter 访问地址填写
https://你的网址/uc_server
3、在后台 - UCenter - 应用管理 - 点右边的编辑 - 应用的主 URL 填写
https://你的网址
如果点击 UCenter 后出现空白,请右击新窗口打开。
4、后台界面-风格管理,点击更新 CSS 缓存,更新缓存,完成!
三、最后我们再对搜索引擎进行一些优化:
方法一: 做301跳转(百度推荐)
APache 版本在伪静态规则中添加:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
方法二 (站长推荐)
在后台全局 - 站点信息,下面的“网站第三方统计代码”处粘贴以下代码,即可完成搜索引擎已经收录的 http 访问不跳转 https 问题。
<script type=”text/javascript”>
var url = window.location.href;
if (url.indexOf(“https”) < 0) {
url = url.replace(“http:”, “https:”);
window.location.replace(url);
}
</script>
注意:请不要在全局 - SEO设置-其他-其他头部信息 处粘贴代码,这样在帖内不显示这段代码的。
Discuz!教程之启用HTTPS后解决各处遗留http://网址问题
首先,申请并且配置好服务器ssl证书(阿里、腾讯都有免费的,同时都有教程)
配置完毕后需要配置以下几处
1.后台,全局,站点URL
2.后台,站长,ucenter设置
3.ucenter,应用,编辑
4.修改模版各处http://为https://
这里为模版文件较多的用户提供一个简单的批量的https://模版替换教程(开启伪静态的可用)
打开source/function/function_core.php
搜索
$content = output_replace($content);
在下面加入
$content = str_replace('http://www.xxx.com','https://www.xxx.com',$content);
如果你有多个二级域名,可以加入
$content = preg_replace('http://(.*?)xxx.com','https://\1xxx.com',$content);

本文标签:

很赞哦! ()

相关源码

  • 自适应电子科技类产品公司pbootcms网站模板基于PbootCMS内核开发,为电子科技类企业设计,适用于电子产品展示、企业官网等场景。该模板采用‌开源架构‌,用户可自由访问和修改源码,灵活适配各类行业需求,无需二次开发成本查看源码
  • 帝国cms7.5个人博客资讯文章模板下载本模板简洁个人博客网站设计开发,采用帝国CMS内核构建,只需替换文字图片即可快速搭建专业网站。自适应手机端设计,数据实时同步,操作简单便捷。PHP程序确保安全稳定运行,帮助您以较低成本获取持续业务。查看源码
  • 自适应营销型IT网络工作室互联网建站公司pbootcms网站模板为IT网络服务商、建站企业打造的高性能营销门户,基于PbootCMS开源内核深度开发采用HTML5自适应架构,实现PC与手机端数据实时同步交互。查看源码
  • (自适应)帝国cms7.5模板自媒体文章新闻博客为帝国CMS7.5设计的响应式模板,采用H5技术构建现代化内容展示框架。通过智能断点检测技术实现手机、平板、PC三端适配查看源码
  • (自适应)品牌创意设计作品工作室pbootcms模板下载该模板适用于品牌策划、艺术设计、广告创意公司官网,亦可通过替换图文快速适配其他行;高端创意设计公司工作室网站源码极简代码架构、艺术化视觉布局、企业级功能扩展性。查看源码
  • 自适应手机版五金机械阀门设备通用行业网站模板该PbootCMS内核开发的网站模板适用于阀门设备、五金机械类企业,通过更换文字图片也可快速适配其他工业领域。采用响应式设计,确保PC端与手机端数据同步,操作便捷,并附带测试数据。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐