在现代网站开发中,HTTPS 的使用已经成为标配。对于 Discuz X3.2 用户来说,虽然系统本身支持 HTTPS,但需要手动调整一些关键配置才能完全实现安全连接。以下是一篇详细的 SEO 优化文章,帮助您完成 Discuz X3.2 的 HTTPS 配置。
确保服务器端已正确开启 HTTPS 并配置 SSL 证书后,我们就可以开始对 Discuz X3.2 进行相关修改了。
### 第一步:修改 discuz_application.php 文件
找到文件:
source/class/discuz/discuz_application.php(大约第 187 行)
将以下代码:
$_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
### 第二步:修改 avatar.php 文件
找到文件:
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'], '/'))));
### 第三步:移除非 HTTPS 内容
为了避免浏览器提示“不安全内容”,请执行以下操作:
1. 删除 Source/plugin/manyou/Service/DiscuzTips.php 中最后的 JS 加载脚本。
2. 修改 template/default/forum/viewthread_node_body.htm(大约第 180 行),搜索 div class="psta vm">,注释或删除下面一行。
3. 使用浏览器开发者工具或查看源码,逐一排查并修改所有非 HTTPS 资源链接。
### 第四步:后台设置调整
进入 Discuz 后台进行以下修改:
1. 全局 > 站点 URL:改为以 https 开头。
2. 站长 > UCenter 设置 > UCenter 访问地址:改为以 https 开头。
3. UCenter 后台 > 应用管理 > 应用主 URL:改为以 https 开头。
4. 如果 UC 和论坛程序在同一台机器上,即使显示通讯失败,实际仍可正常通讯;若不在同一台机器,则可能无法通讯。
5. 全局 > 域名设置 > 应用域名 > 默认:删除 forum.php 后面的内容,确保默认域名不影响 HTTPS。
### 第五步:模板调整
检查模板文件中的 foot.html 和 header.html 等文件,将写死的 HTTP 链接全部替换为 HTTPS 链接。可以使用文本编辑器或 IDE 工具批量查找和替换。
到此为止,Discuz X3.2 已经成功支持 HTTPS!当然,别忘了申请并部署 SSL 证书到您的服务器上。
如果您还有其他问题,请随时联系技术支持团队获取帮助。希望本文能为您顺利配置 Discuz X3.2 提供有价值的参考!