您现在的位置是:首页 > 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);

本文标签:

很赞哦! ()

相关源码

  • (响应式)WordPress主题Ripro9.0博客免扩展二开版RiPro9.0是基于RiPro8.9版本深度二开优化的资源付费主题,源码修正,修复原版多处功能异常,确保系统稳定运行。支持虚拟主机环境部署,无需特殊服务器配置。查看源码
  • (自适应响应式)环保水净化处理设备阀门等网站源码下载基于PbootCMS内核开发的响应式模板,为水处理设备、空气净化器等环保企业设计,自适应手机端浏览。通过简洁高效的后台管理系统,助力环保科技企业快速建立专业在线展示平台。查看源码
  • (自适应)绿色农业机械设备农场网站源码下载为现代农业机械领域打造的响应式网站模板,采用PbootCMS内核开发,数据实时同步后台管理。通过简洁大气的视觉设计,有效展示农机产品技术参数与应用场景,帮助客户快速建立专业数字化形象。查看源码
  • (自适应)简繁双语响应式服装服饰西装工装校服定制pbootcms模板本模板基于PbootCMS内核开发,为服装服饰行业量身打造,尤其适合西装定制、工装生产、校服订制等服装类企业使用。模板采用响应式布局设计,确保在手机、平板、电脑查看源码
  • (自适应)蓝色英文外贸电子科技产品带三级栏目网站模板为外贸企业设计的英文网站模板,基于PbootCMS系统开发。突出多语言支持和国际化布局,三级栏目结构清晰展示产品分类,响应式设计确保更好客户在移动端和PC端获得一致的专业体验。查看源码
  • PbootCMS(自适应手机端)智能电话AI机器人网站模板产品概述基于PbootCMS内核开发的智能电话AI机器人网站模板,为语音交互服务场景设计,采用HTML5+CSS3响应式布局技术,实现PC端与移动端数据实时同步展示。模板适用于智能电话查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐