admin 发表于 2020-7-8 09:55:56

diacuzHTTPS教程,最新版DiscuzX3.4 SSL全站HTTPS化,网址栏全绿色

详细最新版DZ3.33.4 SSL全站HTTPS化,并优化各搜索引擎收录,网址栏全绿色,没不安全黄锁
首先,要开启SSL,总得有一个证书吧?无论是正规CA颁发的,还是自己签的,没有肯定是不行的。如果没有的话,先去申请个吧
比如到阿里云、腾讯云之类都可以免费申请一个域名
申请教程跟配置教程我跳过了,大家不懂可以百度下,毕竟主要讲兼容问题
详细最新版DZ3.3SLL全站HTTPS化,并优化各搜索引擎收录,网址栏全绿色,没不安全黄锁

修改以下文件,宝塔一键SSL   完美解决所有
以下需要修改文件,
1步
source/class/discuz/discuz_application.php (大概在第 187 行处): 查找:
$_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步
default/common/header.htm 查找:
http://全部替换为:
https://
第三部在文件中查询到就替换,查询不到忽略。因为我在最新版本中没有查询到。


以下不需要修改文件,
4步在后台 - 全局网站URL填写
https://你的网址

5步
后台 站长 - UCenter设置 - UCenter 访问地址填写
https://你的网址

6步
后台 - UCenter(如果现实空白,请右击新窗口打开) - 应用管理 - 点右边的编辑 -应用的主URL填写https://你的网址

7步
后台更新缓存,界面-风格 更新css界面   完成!

最后一步对搜索引擎优化问题

方法一:
做301跳转(百度推荐)
APache 版本在伪静态规则中添加(其他版本请百度)RewriteEngine on RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 方法二 (站长推荐)
在后台的全局,下面的网站第三方统计代码粘贴以下代码,即可完成搜索引擎已经收录的http访问不跳转https问题(Ps:请不要在全局SEO设置-其他-其他头部信息哪里粘贴代码,这样在帖内不显示这段代码的)
<script type="text/javascript">var url = window.location.href;                if (url.indexOf("https") < 0) {                  url = url.replace("http:", "https:");                  window.location.replace(url);                }</script>如果有些门户DIY或者,插件引起的显示不安全链接页面可以右击查看源文件 然后按CTRL+F 搜索http://排除
或者请按F12 查找错误 修改或者关闭掉即可

Discuz智能体 发表于 2025-3-21 23:30:04

要将Discuz! X3.4全站HTTPS化并确保网址栏显示绿色安全锁,以下是详细的步骤和注意事项:

### 1. 获取SSL证书
首先,你需要一个SSL证书。你可以从阿里云、腾讯云等云服务商免费申请一个SSL证书,或者使用Let's Encrypt等免费证书服务。

### 2. 配置服务器支持HTTPS
确保你的服务器已经配置好支持HTTPS。如果你使用的是宝塔面板,可以使用“一键SSL”功能来快速配置SSL证书。

### 3. 修改Discuz! 文件
#### 第一步:修改 `source/class/discuz/discuz_application.php`
找到文件中的 `$_G =` 这一行(大约在第187行),将其修改为:
$_G = true;
这一步是为了确保Discuz! 在HTTPS环境下正常运行。

#### 第二步:修改 `uc_server/avatar.php`
找到文件中的以下代码(大约在第13行):
define('UC_API', strtolower(($_SERVER == 'on' ? 'https' : 'http').'://'.$_SERVER.substr($_SERVER, 0, strrpos($_SERVER, '/'))));
将其修改为:
define('UC_API', strtolower(($_SERVER == 443 || $_SERVER == 'on' ? 'https' : 'http').'://'.$_SERVER.substr($_SERVER, 0, strrpos($_SERVER, '/'))));
这一步是为了确保UCenter的头像链接使用HTTPS协议。

#### 第三步:修改 `template/default/common/header.htm`
在文件中查找所有的 `http://` 并替换为 `https://`。如果文件中没有找到 `http://`,则可以忽略此步骤。

### 4. 后台设置
#### 第四步:全局网站URL设置
在Discuz! 后台,进入 **全局 -> 网站URL**,将网站URL修改为 `https://你的域名`。

#### 第五步:UCenter访问地址设置
在Discuz! 后台,进入 **站长 -> UCenter设置**,将UCenter访问地址修改为 `https://你的域名`。

#### 第六步:UCenter应用管理设置
在Discuz! 后台,进入 **UCenter -> 应用管理**,点击右侧的“编辑”按钮,将“应用的主URL”修改为 `https://你的域名`。

### 5. 更新缓存
在Discuz! 后台,进入 **工具 -> 更新缓存**,更新所有缓存。然后进入 **界面 -> 风格管理**,更新CSS缓存。

### 6. 搜索引擎优化
#### 方法一:301重定向(推荐)
在Apache服务器中,可以通过修改 `.htaccess` 文件来实现301重定向。在文件中添加以下代码:
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1
这将把所有HTTP请求重定向到HTTPS。

#### 方法二:JavaScript跳转
如果你不想修改服务器配置,可以在Discuz! 后台的 **全局 -> 网站第三方统计代码** 中添加以下JavaScript代码:
var url = window.location.href;
if (url.indexOf("https") < 0) {
    url = url.replace("http:", "https:");
    window.location.replace(url);
}
这段代码会在用户访问HTTP页面时自动跳转到HTTPS页面。

### 7. 检查不安全内容
如果某些页面仍然显示不安全的内容(如混合内容),可以通过以下方式排查:
- 右键点击页面,选择“查看页面源代码”,然后按 `Ctrl + F` 搜索 `http://`,找到并修改这些链接为 `https://`。
- 按 `F12` 打开开发者工具,查看控制台中的错误信息,找到并修复不安全的资源链接。

### 8. 测试
完成以上步骤后,访问你的网站,确保所有页面都显示绿色安全锁,并且没有混合内容警告。

### 总结
通过以上步骤,你可以将Discuz! X3.4全站HTTPS化,并确保网址栏显示绿色安全锁。同时,通过301重定向或JavaScript跳转,可以优化搜索引擎的收录效果。如果在操作过程中遇到问题,可以参考DZ插件网(https://www.dz-x.net/)的相关教程或寻求帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: diacuzHTTPS教程,最新版DiscuzX3.4 SSL全站HTTPS化,网址栏全绿色