vB·流水账

生命在于折腾。

IIS + PHP 设置不发送 Server 和 X-Powered-By 头的方法

2015-7-23 vibbow

不发送 X-Powered-By 头的方法:

修改 php.ini 文件,将 expose_php 设为 Off


不发送 Server 头的方法:

使用 URL Rewrite 模块,在服务器全局范围内,添加一条Outbound规则:
Match 部分:
Matching scope: Server Variable
Variable name: RESPONSE_SERVER
Variable value: Matches the Pattern
Using: Regular Expressions
Pattern: .+
Action 部分:
Action type: Rewrite
Value:    (什么都不填,留空)


保存后立刻生效。

评论(1) 浏览(2308)

NVIDIA控制面板 管理3D设置 添加程序 时卡死的解决方法

2015-7-11 vibbow

本文用于解决在 NVIDIA 控制面板 -> 管理 3D 设置 -> 程序设置 -> 添加自定义的程序 时,在程序窗口列表滚动时卡死的问题。

QQ截图20150712000216.png


解决方案:

删除 C:\ProgramData\NVIDIA Corporation\Drs\nvAppTimestamps 文件即可。


目测是因为 NVIDIA 控制面板缓存了某些程序路径,但是那些程序已经不存在了 (尤其是网络邻居无法访问时),这样 NV控制面板 尝试加载程序图标时就会卡住(等待网络超时)

评论(0) 浏览(2196)

emlog 6 新功能

2015-6-18 vibbow

已知的新功能:

1. 兼容 PHP7

2. 新的默认模板(前台和后台)

3. 支持 HTTPS 了

4. 自适应当前网站域名

5. 删除了微语功能

6. 正确的支持了夏时制时区

7. 新增了插件设置保存接口(插件开发者不用再自己实现设置保存功能了)

8. 内部代码的优化和改进

9. 重构了标签模块,现在即使有上千个标签也不会卡了

评论(7) 浏览(1884)

装完Notepad++没有右键菜单的解决方法

2015-1-8 vibbow

在一台全新的windows上安装了Notepad++,结果装完后居然没有右键菜单了。

纠结了半天,终于找到了解决方案:

先安装VC++ 2008 Runtime,再安装Notepad++即可。

VC++ 2008 Runtime下载地址: http://www.microsoft.com/zh-cn/download/details.aspx?id=26368

如果你已经安装了Notepad++并且没有右键菜单,那装完VC++ 2008 后重新覆盖安装一遍Notepad++就行了。

评论(0) 浏览(3843)

为emlog 5.x添加https支持

2014-12-25 vibbow

https 支持已集成到Emlog 6.0,以下内容仅适用于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行)

define('DYNAMIC_BLOGURL', Option::get("blogurl"));


试试用HTTPS链接访问这篇文章吧:https://vsean.net/blog/post/196

如果你使用的是Emlog 5.3.1,并且没有对源代码做过修改,也可以下载附件里的文件直接覆盖同名文件

下载地址:emlog_https.zip

评论(9) 浏览(6054)