Archive for the ‘技术笔记’ Category

我的MT目录结构

前些日子看到车东写的这篇《Blog的目录结构优化》,我想起了半年前自己也曾为此花了不少时间,不过到最后我才发现主机的cgi缺少支持mysql的模块,只能使用文本数据库。用文本数据库刚开始的时候可能没什么问题,但是当文章数量不断增加时,数据库的性能就能体现出来了。所以我放弃了Movable Type继续使用WordPress,毕竟WP的功能对我来说已经足够了,而且自己也相对比较熟悉。

当初我的MT结构是这样规划的:
单篇文章 yyyy/mm/articleid.html
每月文章归档 yyyy/mm/index.html
每年文章归档 yyyy/index.html
文章分类汇总 cat/分类名/index.html 2.html …(采用分页形式)
首页 index.html
归档 archives.html
tags归档 tags.html
RSS Feed index.xml atom.xml
Sitemap sitemap.xml
PS:其中”归档”指链接,”汇总”指包含文章内容的页面.

这样规划目录的好处是:每个目录下的文件数相对比较少,而且每个目录下有一个默认页更利于搜索引擎的光顾,这也正是我在yyyy下放个index.html的原因。

小巧精悍的sNews

几个月前就知道sNews了,sNews很小巧,一共只有4个文件,加起来才100k.但功能一点也不弱,只是苦于服务器没有mod_rewrite module。刚好前些天换了个新家,于是装了试一试。sNews的安装条件还算简单:
Apache Server:支持mod_rewrite:
PHP: 4.x或更高
MySQL:没特殊要求
好了,开始吧。
下载sNews(我下的是sNews 1.5 RC3),按照压缩包里readme.html的说明,一步步来:
1.创建数据表.
在phpMyAdmin或其它数据库管理工具里,点击SQL,复制readme.html的code,相关代码可能会随sNews的版本改变而改变,所以我不在这里贴出。
2.配置snews.php
$db['website'] = ‘http://localhost/sNews/’;//安装地址,如http://sk23.com/blog/
$db['dbhost'] = ‘localhost’;//数据库地址,一般为localhost,也可以是IP地址或域名
$db['dbname'] = ‘snews’;//数据库名
$db['dbuname'] = ‘username’;//数据库用户名
$db['dbpass'] = ‘password’;//数据库密码
$db['prefix'] = ”;//数据表头,如snews_,默认情况下这里留空
3.上传文件,并将所有文件的属性设为777。
4.OK,在浏览器中输入你的安装地址,默认的用户名和密码都为test,登录后请及时修改。

注意:用记事本修改index.php或snews.php后会在文件的开头添加BOM,造成程序出错。最好用其它工具编辑,如UltraEdit,Notepad++,Editplus等。
DEMO 请看这里。

Yahoo附加电邮地址不能申请问题

有时候一个电邮地址可能不够用,比如说你经常注册一些东西,而你都使用同一个地址,那么你等着被邮件”轰炸”吧。有一个简单的方法:另外申请一个E-mail专门用于注册,并设置转发到你常用的邮箱,可转发的邮件容易丢失。于是每次你都得登入两个邮箱,相当麻烦。
其实,只要你使用YAHOO邮箱就不必这么麻烦,Yahoo允许你免费创建一个附加电邮地址,而且现在您在注册Yahoo!ID时可以使用”.”,这样你有可能拥有一个您一直想要的用户名,使用方法和您的现有Yahoo! ID一样。

但是,当我们按照提示,进入邮件选项-电邮地址-附加电邮地址,点击[马上开始]时,你看到的可能不是添加附加电邮地址的页面,而是英文的密码验证页面,你将被卡在这里。(我在这里花费了1小时才找到解决的方法)
方法如下
进入邮件选项-帐户信息,经过密码验证,点击”用户信息”后的”编辑”,如图:
Yahoo帐号设置

将一般选项中的语言及内容:改为中国(简体中文),时区: 改为GMT +8 中国(大陆及港澳台),点击保存。
好了,现在再去试试申请附加电邮地址吧。

WordPress中RSS输出的时间问题

以前因为看了不少这方面的文章,如chedong的不实的RSS时间好比是假的牛奶生产日期,所以我将rss-2.php中的时间从+0000改成了+0800,而且我一直以为这是对的,因为中国在GMT+8时区,但是我没注意到一点,那就是WP已经将文章的发布时间转成了格林尼治时间,也就是说如果你在WP>Options>General中将”Times in the weblog should differ by:”设为+8,那么RSS中的文章发布时间要比当地时间早8小时,所以RSS输出时不存在时间问题。
举个简单的例子:
你于北京时间2006年7月1日早上9点发了一篇文章(Sat, 01 July 2006 09:00:00),那么在RSS中文章发布时间就会是2006年7月1日凌晨1点(Sat, 01 July 2006 01:00:00)。有人会问怎么就提前8小时了呢?因为这是格林尼治时间,你再看一下RSS中的时间”Sat, 01 July 2006 01:00:00 +0000″,注意+0000,中国本应该是+0800。但是使用WP的人遍布全世界,总不能在安装说明里说:请根据你所在的时区,手动修改wp-rss2.php文件吧。那样会带来很多不必要的麻烦。
所以说RSS中pubDate的” mysql2date(‘D, d M Y H:i:s +0000′ ” 没有错,如果改成+0800,那么你的RSS时间将比别人晚8小时,这应该是一般人所不期望的吧。

注册’中文@163.com’邮箱

以注册的用户名为”中文”为例:
1、到http://www.cnnic.net.cn/html/Dir/2003/10/29/1112.htm。把“中文”转化为punycode码得“xn--fiQ228C”
2、以“xn--fiQ228C”为用户名,到http://reg.163.com/register/Register.jsp?url=http://mscan.163.com/QuickCreateMail.jsp去注册,注册步骤一样。
3、注册完进你的邮箱看看,是不是有个“中文@163.com ”

中文@163.com无法收信,但[email protected]正常。

几个较好的代理服务器列表

当今世道,动不动就封人家的站点是一种流行。如果有一天你经常去的网站突然被封,你会怎么办,总不能就再也不去了吧,我们得想办法。通过设置浏览器代理上网,这是最常用的方法,不过有些麻烦。在线代理就是选择之一,它可以解你的燃眉之急。不过通过在线代理后,页面不是缺少图片就是缺少样式表,只好将就将就。
以下是几个比较好用的代理:
在线代理:
http://browseatwork1.com/nph-proxy.cgi

http://code.blogspot.com.nyud.net:8090/在网址后加.nyud.net:8090

http://anonymouse.org/anonwww.html
http://www.goproxing.com/
传统代理服务器ip地址:
http://fast.proxycn.com/proxy30/
http://www.proxy4free.com
http://www.cemsg.com/proxy/
http://sk23.com/tools/proxy/

Page 3 of 6123456