当前位置:首页 » 好文分享 » 详情

    EMlog启用https访问的实现方法与教程

    EMlog 是 "Every Memory Log" 的简称,意即:点滴记忆。它是一款基于PHP语言和MySQL数据库的开源、免费、功能强大的个人或多人联合撰写的博客系统(blog)。目前EMlog最新版本为6.0.0 Beta测试版,而正式版的最新版本为5.3.1,https 支持已集成到Emlog 6.0,但是现在EMlog用户主要还是使用的5.x版本,所以今天也就说说EMlog启用https访问的实现教程。而下面的内容仅适用于Emlog 5.x用户。这点请注意。

    在进行修改之前,请先确定服务器已正确配置https。并且备份所有文件,防止遇到兼容性

    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行)
    efine('DYNAMIC_BLOGURL', Option::get("blogurl"));

    好了,大功告成,试试用https访问吧!
    打赏
    X
    打赏方式:
    • 支付宝
    • 微信
    • QQ红包

    打开支付宝扫一扫
    日期:2017年06月29日 09:20:22 星期四   分类:好文分享   浏览(37216)
    本文地址:https://www.blogs.hk/post-2459.html   [百度已收录]
    声明:本页信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!
    版权所有:《博客之家
    文章标题:《EMlog启用https访问的实现方法与教程
    除非注明,文章均为 《博客之家》 原创
    转载请注明本文短网址:https://www.blogs.hk/post-2459.html  [生成短网址]

    留言咨询

    自动获取QQ

    昵称

    邮箱

    网址

        站点统计

        • 收录网址:3370 个
        • 发布文章:3008 条
        • 在线人数:1人
        • 总访问量:270562737次
        • 本站运行:12年5月3天
        Copyright © 2025 博客之家 版权所有  
        關於本站免責聲明sitemap新站登錄