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

本文标签:

很赞哦! ()

相关源码

  • 帝国cms7.5手游评测资讯礼包合集游戏专区下载网站模板本模板基于帝国CMS系统开发,为手游门户网站设计。支持PC端与移动端同步生成HTML静态页面,内置多端同步生成功能。模板架构针对手业特点优化,满足APP下载、游戏资讯、攻略等内容发布需求。查看源码
  • (PC+WAP)激光水幕音乐喷泉设备工程网站源码下载本模板基于PbootCMS系统开发,为喷泉设备工程类企业设计,特别适合展示音乐喷泉、激光水幕等水景艺术项目。采用响应式技术,确保各类工程案例在不同设备上都能呈现视觉效果。查看源码
  • (自适应)家禽饲养养殖基地pbootcms模板响应式模板下载为家禽饲养企业、养殖基地设计的响应式网站模板,聚焦畜禽产品展示、养殖技术分享及企业信息服务。采用PbootCMS内核开发,响应式技术确保PC与手机端数据实时同步查看源码
  • (自适应)高端集团跨国公司产业联盟机构网站模板免费下载基于PbootCMS内核开发的集团级企业网站模板,采用响应式设计架构,确保在各类移动设备上获得浏览体验。通过模块化布局与简约大气的视觉风格,帮助集团企业高效展示组织架构、发展历程和业务矩阵,建立专业的企业形象窗口。查看源码
  • pbootcms模板(自适应手机版)红色响应式单位机构类网站自适应响应式单位机构网站模板 | PbootCMS内核开发为机构组织设计的响应式网站模板,采用PbootCMS内核开发,支持一键替换行业内容,满足多元化场景需求。查看源码
  • 响应式WordPress简约博客主题Alt_BlogAlt_Blog主题该模板为博客内容展示设计,采用简约现代的风格理念,打造清晰的内容呈现平台。响应式布局确保在不同设备上都能获得良好的浏览体验,帮助博主更好地展示和分享内容。查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐