完美解决emlog使用SSL,https访问的问题

emlog我就不说多了,说起来都是泪,不过还是有部分人在使用此博客,如何解决SSL访问的时候出现的一些问题,主要是分为两步走。

一、下载emlog SSL访问插件

地址:http://tv1314.com/post-433.html   ,作者鬼少,搬运工地址:gs_ssl.zip

安装插件后,启用之。

启用全站SSL访问插件

解决了这一部分,其实已经基本可以使用SSL访问了,但关系多众多模板的问题,这样还是不够的。

二、修改代码

修改代码前请先备份,这代码来自于其他网站,经过多个博客模板测试可行,版本仅限于5.3.1

1、 /include/lib/option.php
请将以下内容粘贴到 get function 的 default 判断分支之前 (在Emlog 5.3.1下是第43行)

case 'blogurl':
    return realUrl();
    break;

代码位置

2、 /include/lib/function.base.php

请将以下内容粘贴到文件的末尾
/**
 * 获取当前访问的base url
 */
function realUrl() {
    static $real_url = NULL;
    
    if ($real_url !== NULL) {
        return $real_url;
    }
 
    $emlog_path = EMLOG_ROOT . DIRECTORY_SEPARATOR;
    $script_path = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME);
    $script_path = str_replace('\\', '/', $script_path);
    $path_element = explode('/', $script_path);
    
    $this_match = '';
    $best_match = '';
    
    $current_deep = 0;
    $max_deep = count($path_element);
    
    while($current_deep < $max_deep) {
        $this_match = $this_match . $path_element[$current_deep] . DIRECTORY_SEPARATOR;
        
        if (substr($emlog_path, strlen($this_match) * (-1)) === $this_match) {
            $best_match = $this_match;
        }
        
        $current_deep++;
    }
    
    $best_match = str_replace(DIRECTORY_SEPARATOR, '/', $best_match);
    $real_url  = $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
    $real_url .= $_SERVER["SERVER_NAME"];
    $real_url .= in_array($_SERVER['SERVER_PORT'], array(80, 443)) ? '' : ':' . $_SERVER['SERVER_PORT'];
    $real_url .= $best_match;
    
    return $real_url;
}
3、/init.php
请用以下代码覆盖同名的define (在Emlog 5.3.1下是第39行)
define('DYNAMIC_BLOGURL', Option::get("blogurl"));

修改代码位置
三、如果网站使用http访问就强制转向https 在你的模板下的header.php中增加以下代码 位置如图
    if(!isset($_SERVER['HTTPS'])){
    Header("HTTP/1.1 301 Moved Permanently");
    header('Location: https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
} 强制使用https访问 
OK,用https访问吧!

可能你对以下的内容也感兴趣:

如何删除采用emlog制作的网站的首页显示的“引用数量”

去掉PHP-Amateur Theme2模板“页面下拉到页面底部时自动加载下一页内容”功能

Emlog6.0.0模板设置插件修复版

emlog内容分页插件下载

关于emlog的评论者链接问题的解决

火热榜

发表评论

    微笑 大笑 拽 大哭 奸笑 流汗 喷血 生气 囧 不爽 晕 示爱 卖萌 吃惊 迷离 爱你 吓死了 呵呵

      已有6条评论

    1. avatar 鸟看巴士地板
      还在犹豫上不上这个呢,小博客2018-09-05 16:38 回复
      1. avatar老罗
        回复了鸟看巴士:上吧,https是趋势 2018-09-08 20:51 回复
    2. 感谢分享哈2018-09-03 16:44 回复
      1. avatar老罗
        回复了天津网站建设:表情 2018-09-03 21:24 回复
    3. avatar 小康沙发
      谢谢老师分享2018-04-26 13:10 回复
      1. avatar老罗
        回复了小康:表情 2018-04-27 09:19 回复