月份:2012年9月

修改 WordPress 用户登录 Cookie 过期时间

WordPress 默认的用户登录 Cookie(Auth Cookie) 过期时间并不算太长,在勾选了“记住我”的情况下为 14 天,否则为 48 小时。在常规使用的情况下,最长为14天的过期时间已经够用,但如果要构建一个需要长期保持登录状态的项目的话,14 天显然是不够的。幸好 WordPress 提供了一个 hook 允许自行修改 Cookie 过期时间,只需要一个简单的 filter 就可以实现。

1
2
3
4
5
6
7
add_filter('auth_cookie_expiration', 'custom_cookie_expiration', 99, 3);
function custom_cookie_expiration($expiration, $user_id = 0, $remember = true) {
    if($remember) {
        $expiration = 31536000;
    }
    return $expiration;
}

把上面的代码粘贴到当前主题的 functions.php 文件里,就可以把在勾选“记住我”的情况下把 Auth Cookie 的过期时间设置为 365 天,$expiration 为 Auth Cookie 过期时间的时间戳,你可以自行设定。

Godaddy 域名 DNS 被墙免费解决办法

继前几天Google服务抽风无法访问后,我们伟大的墙,终于看上我这个小站了,域名解析被屏蔽(IP 地址并没有屏蔽掉),解决办法有两种,1.通过访问电脑的 DNS 到 8.8.8.8,2.在 Host 文件里写一条记录。但是不能要求所有的网站来宾都这样做呀。 Read More.

Nginx目录自动加斜杠

最近调整了一个网站的结构,把原来 bbs.domain.com 的论坛,移到 主域名下的 bbs 目录。弄好后一切正常,只有一个问题,就是如果我访问 http://www.domain.com/bbs/ 就可以显示出地址,但如果我访问 http://www.domain.com/bbs 结果却提示说找不到所需要的页面。

发生这种情况,是因为 nginx不会自动判断请求的是一个文件还是一个目录,所以不会自动在请求的最后加上一个斜杠 / ,解决方法为:

在配置文件中 server 里加入如下代码

if (-d $request_filename) {
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}

这样再对 http://www.domain.com/bbs 请求,nginx 就会进行判断了,如果请求的是一个文件夹,会自动在最后加上 / 符号,如果请求的是一个文件,则不会改变原有 url。 Read More.