Discuz X3.5 开启 HTTPS 强制跳转需要在后台修改站点 URL 为 https 开头,并在 Web 服务器层配置 301 重定向。适用场景为已部署有效 SSL 证书的站点,风险边界是配置错误可能导致后台无法访问。
先说结论:Discuz X3.5 支持后台直接配置 HTTPS 地址,但必须配合服务器端重定向才能彻底避免混合内容报错。
- 适合:已安装 SSL 证书且希望提升安全性的 Discuz X3.5 站点
- 先准备:备份数据库和 config 配置文件,确保证书有效
- 验收:浏览器地址栏显示锁形图标且控制台无混合内容报错
命令速用版
如果使用 Nginx 服务器,可在站点配置文件的 server 块中添加以下规则实现 HTTP 到 HTTPS 的强制跳转:
server {
listen 80;
server_name yourdomain.com;
return 301 https://$host$request_uri;
}Apache 用户可在网站根目录的 .htaccess 文件中添加 Rewrite 规则实现相同效果。
为什么会这样
混合内容报错是因为页面通过 HTTPS 加载,但其中的图片、脚本或样式表仍通过 HTTP 请求。
浏览器安全策略默认阻止或不安全加载 HTTP 资源,导致页面功能异常或地址栏不显示安全锁。Discuz 后台设置仅改变生成链接的协议,若历史数据或模板中硬编码了 http://,仍需额外处理。
分步处理
第一步:登录 Discuz 后台,进入“全局”>“站点信息”,将“站点 URL 地址”修改为以 https:// 开头,保存后退出重新登录。
第二步:在 Web 服务器配置 HTTP 到 HTTPS 的 301 重定向,确保所有请求强制走加密通道。
第三步:检查数据库和模板,将硬编码的 http://yourdomain.com 替换为 https://yourdomain.com 或相对路径。
第四步:更新 Discuz 缓存,在后台“工具”>“更新缓存”中勾选所有选项并提交。
怎么验证是否生效
使用浏览器开发者工具查看 Console 面板,确认没有 Mixed Content 警告。
在地址栏点击锁形图标,查看连接安全性详情,确认所有资源均通过安全连接加载。
使用 curl 命令测试 HTTP 请求是否返回 301 状态码并指向 HTTPS 地址。
常见坑
修改后台 URL 前未确保证书有效,会导致后台无法访问,需通过数据库 config 表回滚。
第三方插件或旧版模板中写死了 http 协议,跳过服务器重定向无法解决此类混合内容。
CDN 配置未同步开启 HTTPS,导致静态资源仍走 HTTP 通道引发报错。
常见问题
修改 HTTPS 后后台打不开怎么办?
直接修改数据库 pre_common_setting 表中 siterurl 值为 https 开头,或还原 config 配置文件。
地址栏显示安全但仍有混合内容报错?
检查帖子内容或模板代码中是否有硬编码的 http 资源链接,需批量替换为 https。
开启 HTTPS 会影响 SEO 收录吗?
配置 301 重定向后搜索引擎会逐步更新索引,短期可能有波动,长期利于安全评分。