醒游网

当前位置: 首页 » 网站日记 » Discuz! X 3.4 论坛如何实现全站 https 访问

Discuz! X 3.4 论坛如何实现全站 https 访问

网站开启 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设置-其他-其他头部信息 处粘贴代码,这样在帖内不显示这段代码的。

关键字: ,
猜你喜欢
用户评论
  1. 我还从来没有用过discuz!

  2. DZ当初好火的,可惜了,腾讯买了就不行了

要发表评论,您必须先登录/注册
本类排行