夜风 发表于 2018-2-25 21:12:29

最详细的Discuz证书SLL全站https化说明教程,并优化各搜索引擎收录,网址栏全绿色,

全站HTTPS化,并优化各搜索引擎收录,网址栏全绿色,没不安全黄锁

首先,要开启SSL,总得有一个证书吧?无论是正规CA颁发的,还是自己签的,没有肯定是不行的。如果没有的话,先去申请个吧
比如到阿里云。腾讯云之类都可以免费申请一个域名
(注意免费版多数只能应用一个域名 比如是www.jinyide.wang,你的二级域名是bbs.jinyide.wang或者jinyide.wang的话是不用不了的,除非用到通配符*.jinyide.wang 图1)

申请教程跟配置教程我跳过了,大家不懂可以百度下,,,毕竟主要讲兼容问题


以下需要修改文件,
1步
source/class/discuz/discuz_application.php (大概在第 187 行处): 查找
$_G['isHTTPS'] =这一行直接修改为:$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
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界面   完成!
8步数据库的调整
在论坛这种交互社区中,经常回复发帖时会有出现主域名的链接,在没有 HTTPS 之前,链接都是 HTTP 开头,这个时候,我们需要修改数据库,运行下面的 mysql 命令更新数据库,将 HTTP 替换为 HTTPS :4 c8 N0 c/ b+ P) w
进入 DZ 后台:站长 – 数据库 – 升级(需要注意的是,出于安全考虑, Discuz 后台默认情况下禁止 SQL 语句直接执行,只能使用常用 SQL 当中的内容,如果想自己随意书写 SQL 升级语句,需要将程序文件 config/config_global.php 当中的$_config 设置修改为 1
$_config['admincp']['runquery'] = '1';入 DZ 后台:站长 – 数据库 – 升级
执行以下升级语句进
UPDATE pre_forum_post SET message=REPLACE(message,'http://输入你的域名','https://输入你的域名');例如UPDATE pre_forum_post SET message=REPLACE(message,'http://www.jinyide.wang','http://www.666xz.cn');


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

方法一:
做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 查找错误 修改或者关闭掉即可


页: [1]
查看完整版本: 最详细的Discuz证书SLL全站https化说明教程,并优化各搜索引擎收录,网址栏全绿色,