Typecho 何时才能走出nginx的圈子?
话说我从Wordpress转到Typecho 已经有一段时间了,总体来说,感觉还行~ 唯一让我不爽的就是typecho 对其他web server 支持的很差,特别是在伪静态(mod_rewrite)方面。
我可以这样讲,现在我的博客后台就是废的,基本上连对游客评论的编辑、删除都不能做到。因为这些功能都基于web 服务器对地址的重写。
比如,我在后台要删除一个用户的评论(当然我很少,几乎没有那样做),我点击了“删除”按钮,其实我是对应的向“http://xxxxx.xxxx/index.php/action/comments-edit?do=delete&coid=####”这个地址发送了请求。按说应该是index.php 这个页面接受了这个请求,然后根据传来的参数对数据库里的某条记录做了“删除”的处理。
可是很杯具的是,这个页面根本不会接受到任何请求。因为typecho 可怜的兼容性。
大家可能知道,我的web 服务器用的hiawatha,它显然不在typecho 支持的web 服务器列表之中,应该说typecho 目前只支持nginx才对~
我按照typecho 官方的文档(http://docs.typecho.org/servers)里面给出的针对nginx的地址重写的配置,写了适用于hiawatha的,或者说是与nginx 下等效的配置。见下:
nginx 之伪静态:
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}location ~ .*\.php(\/.*)*$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
hiawatha 之伪静态:
UrlToolkit {
ToolkitID = te
# Match ^(.*)/index\.php/.*$ Rewrite $1/index.php?$2
Match ^/index\.php(.*)$ Rewrite /index.php?$1
# RequestURI isfile Return
RequestURI exists Return
}
要我说,这两个的效果应该是一样,可是很遗憾的是,居然不起作用~ 至于原因,我只能揣测了~
话说,我之前在Wordpress上使用的WP-imgcode 和 user-agent-displayer 两款插件,我已经移植过来了。一直没有用上~ 原因很简单,插件的“激活”按钮(http://xxxxx.xxxx/index.php/action/plugins-edit?activate=XXXXX)不起作用~