最新消息:本站所有跳转向bbs.ykit.cn的附件将全面停止,附件已转移到https://www.qingsj.com

discuz安装在wdcp如何全站开启https

Discuz!教程 有客 1024浏览

第四步:discuz后台默认域名修改

全局-SEO设置-域名设置-应用域名

首页改成:www.domain.com

手机:按照真实填写,没有就为空

默认:domain.com

第五步:修改discuz_application.php文件

下载文件source/class/discuz/discuz_application.php并用Editplus等软件打开进行编辑

查找:$_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并用Editplus等软件打开进行编辑

查找:

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’], ‘/’))));

第七步:修改DiscuzTips.php文件

下载文件Source/plugin/manyou/Service/DiscuzTips.php并用Editplus等软件打开进行编辑

查找并删除:<script src=”http://discuz.gtimg.cn/cloud/scripts/discuz_tips.js?v=1″ type=”text/javascript” charset=”UTF-8″></script>

第八步:修改viewthread_node_body.htm文件

下载文件template/default/forum/viewthread_node_body.htm并用Editplus等软件打开进行编辑

搜索并删除<a href=”home.php?mod=space&uid=$comment[authorid]” c=”1″>$comment[avatar]</a>

第九步:后台设置的修改完善

后台 >全局 > 站点 URL ,改为 https 开头的

后台 > 站长 > UCenter 设置 > UCenter 访问地址,修改为 https 开头的

UCenter 后台 > 应用管理 > 应用的主 URL ,修改为 https 开头。

第十步:模板的调整

打开:template/default/common/

下面的 header.htm\footer.htm 里面搜索<a href=”  意思是搜索里面的链接,把<a href=”home? 或者 <a href=”fourm.php? 等开头的改成<a href=”https://www.xxx.com/home? 或者<a href=”http://www.xxx.com/fourm.php? 开头的,意思是将文件里面的链接都改成https协议。搜索http改成https

第十一步:解决DISCUZ开启https后ucenter通信失败

DISCUZ 开启https后ucenter通信失败解决方法,一般是做完301重定向https后通信失败的,下面是具体解决方法:

打开目录 uc_server/model/misc.php 文件找到69行(如下图),插入下面代码:

if(substr($url,0,5)==’https’){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if($post){
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
}
if($cookie){
curl_setopt($ch, CURLOPT_COOKIE, $cookie);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
return curl_exec($ch);
}

第十二步:解决QQ互联的问题

首先升级QQ互联插件,最低版本要求是 1.18.2,如果升级后依然不行,需要修改回调 URL 为非 HTTPS 的:

找到:source/plugin/qqconnect/connect.class.php 大约41行

在common_base() 函数里面,将 $_G[‘siteurl’] 直接硬编码为 你的http的URL ,首先修改callback_url,如果不行,将所有包含connect.php 的 URL 全部替换。

第十三步:http链接全部跳转到https (此步骤修改完后需要重启服务器)

打开/www/wdlinux/nginx-1.8.1/conf/vhost/domain..conf

在原有代码的基础上加上下面红色的代码其中domain.com替换成你的网址即可。

server {
listen 80;
root /www/web/zhibo/public_html;
server_name zhibo.us www.zhibo.us;
index index.html index.php index.htm;
error_page 400 /errpage/400.html;
error_page 401 /errpage/401.html;
error_page 403 /errpage/403.html;
error_page 404 /errpage/404.html;
error_page 503 /errpage/503.html;
server_name www.domain.com;
rewrite ^(.*) https://www.domain.com$1 permanent;
location ~ \.php(.*)$ {
fastcgi_pass unix:/tmp/php-56-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $DOCUMENT_ROOT$fastcgi_script_name;
fastcgi_param PATH_INFO $2;
include fcgi.conf;
}
location ~ /\.ht {
deny all;
}
include /www/wdlinux/wdcp/rewrite/discuz-nginx.conf;
}

转载请注明:有客帮 » discuz安装在wdcp如何全站开启https