自从百度转换成https访问之后,公开发布申明开始收录https站,不需要再做友好优化,且优先收录https。 Dz论坛自x3.1版本以后已经基本上都支持了SSL,那么怎么配置呢,首先请阅读以下步骤
一、SSL证书 首先你得要有一个证书文件,你可以花钱买,或者也可以去申请沃通的免费SSL证书,免费证书基本上2~3分钟就会颁发。关于如何配置SSL证书,在证书颁发站点已经有了非常详细的说明了,就不多说了。
二、开启https 1、解决不安全因素 1.1 解决外部链接 配置完证书之后,首先你通过https://链接访问基本上是不会显示全,而且会提示该网站存在不安全因素。这时候就需要手动解决。首先用任意浏览器通过https://方式打开你的首页,完整加载完毕之后,右击鼠标选择查看源代码 ,在源代码中按Ctrl+F 搜索“http”,我们先来找一下页面当中连接到外部网站的URL,如百度分享的代码,加载了一个外部的百度js文件,首先你要做的是先把外部加载的如链接、图片等复制到浏览器用https方式打开,如果可以打开那么就修改成https,如果不能就删除这段代码,如百度的分享JS无法通过HTTPS打开,只能删除。像其他的比如常用的站长统计,可以使用 统计代码中的精简代码,并把http改为https。使用的腾讯统计的可以直接在DZ后台--应用那里改。直接去掉图标显示,就没有链接在了。 总之归结一句 能换成https的换掉 不能换掉的想办法删除。
解决了外部链接之后,我们再看一下站内的链接,首先我们在浏览器用 https://www.xxx.com方式访问基本上所有的内链都会跟着变成https 有些人主机比较特殊一点的 比如链接没有变 还是原先的http,那么就需要再来优化一下。如果你发现已经内链都是https可以跳过这一步。 首先打开论坛主目录 source/class/discuz/discuz_application.php 打开 找到 $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
替换为:
$_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;
打开uc_server/avatar.php 找到 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'], '/'))));
修改完之后,进后台--工具--更新缓存。基本上内链就改好了。
2、后台设置
在后台还有一些设置,可能会干扰https的使用
后台 > 站长 > UCenter设置 > UCenter 访问地址,修改为https开头的
UCenter后台 > 应用管理 > 应用的主URL,修改为https开头
另外在 后台 > 全局 > 域名设置 中的一些设置也可能使https失效,如果进行了之前的几步还是无法启用,可以暂时删除这里的设置试试。 最后清一下缓存文件。主要找站外和修改站外链接需要细心 把能改https直接替换掉 或者下载到本地上用 凡是链接外部资源必须要是https开头不然就会提示网站存在不安全因素。
|