当前位置:首页 > 技术手札 > 正文内容

emlog修改为Https

秋风渡红尘8年前 (2018-10-25)技术手札2002

模板里面有写死的http,需要改成https

header.php

footer.php


include/lib/function.base.php第73行


return 'http://' . $_SERVER['HTTP_HOST'] . $matches[0]; 


修改为

return '//' . $_SERVER['HTTP_HOST'] . $matches[0];

以上测试成功。附其他处理办法:

include/lib/option.php

1、请将以下内容粘贴到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://yiyabei.cn/?id=32

标签: 网络EMLOG
分享给朋友:

相关文章

360随身wifi 3代当作无线网卡无法联网

360随身wifi 3代当作无线网卡无法联网

前置条件: 无线网卡硬件 360随身WIFI 3代 驱动...

win7升级ie8至ie11后无法打开

win7升级ie8至ie11后无法打开

win7升级ie8至ie11后无法打开,表现为 1、双击无反应,进程中没有ie进程。 2、卸载ie11后,连ie8也无法使用路。 3、检查windows功能,ie是启用的。 4、想起来用...

关于UG NX8.0/8.5二次开发dll签名失败的问题

关于UG NX8.0/8.5二次开发dll签名失败的问题

使用vc++二次开发,正版UG NX加载DLL时会提示图像未加载…… 了解为正版UG加载二次开发的dll需要签名。 签名过程中出现以下问题: Signing fails because the fo...

ubuntu QT5.11.1链接MYSQL数据库出错的问题。

ubuntu QT5.11.1链接MYSQL数据库出错的问题。

编译后链接数据库时提示 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE,QMYSQL……...

Ubuntu 16.04下忘记MySQL密码如何重置

Ubuntu 16.04下忘记MySQL密码如何重置

I. 在终端输入 sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf II. 在[mysqld]下方的skip-external-locking下面添加...

cocos creator逐个输出字体实现方式

cocos creator逐个输出字体实现方式

方法一: for str += string 特点是每次循环前面的字符都要重新输出一次,容易造成闪烁。 方法二: for location[i].t...