dz论坛伪静态加http跳转https遗留问题apache配置ssl

一、首先,申请并且配置好服务器ssl证书(阿里、腾讯都有免费的,同时都有教程)

①: 下载apache格式的证书, 解压后放到d:/ssl 目录

②: 打开 D:/phpStudy/Apache/conf/httpd.conf

在最后面添加SSL配置.

Listen 443

<VirtualHost *:443>
DocumentRoot "D:/wwwroot"
    ServerName www.test.com
    ServerAlias test.com
    SSLEngine on
    SSLCertificateFile "d:/ssl/server.crt"
    SSLCertificateKeyFile "d:/ssl/server.key"
    SSLCertificateChainFile "d:/ssl/server.ca-bundle" 
</VirtualHost>

③: 重启Apache.


二、配置完毕后需要配置以下几处

1.后台,全局,站点URL

2.后台,站长,ucenter设置

3.ucenter,应用,编辑

4.修改模版各处http://为https://

这里为模版文件较多的用户提供一个简单的批量的https://模版替换教程(开启伪静态的可用)

打开source/function/function_core.php

搜索

$content = output_replace($content);

在下面加入

$content = str_replace('http://www.xxx.com','https://www.xxx.com',$content);

如果你有多个二级域名,可以加入

$content = preg_replace('http://(.*?)xxx.com','https://\1xxx.com',$content);

三、错误排查

如果确认上面两点操作无误,但还是不行。首先使用伪静态后的URL访问一下,如果可以访问,那说明系统配置没问题,只是模板不支持。不支持伪静态的模板,通常是common/footer.htm中缺少下面代码:

1
<!--{eval output();}-->

将代码复制到footer.htm中,</body>上面一行即可。


展开阅读全文

没有更多推荐了,返回首页