如何在nginx 1.0.5中启用重写function?

我最近安装nginx 1.0.5与PHP FCP,PHP APC和Postgres。 我只是想玩弄nginx,学习如何configuration基本的东西。 对于扩展testing,我决定安装PHPBB3(很好),看看PHP + Postgres的访问工作。

现在我想知道重写URL是如何工作的,并且已经发现重写的东西应该写在nginxconfiguration中的位置部分。

但不幸的是nginx似乎忽略了我在configuration中的每一个重写规则。 所以我想知道如果我不得不先打开重写function?

nginx -V |grep rewrite什么都不显示,而且安装nginx-extras也没有帮助。 我只是希望nginx-extras包含了像重写模块的东西,但不幸的是情况并非如此。

searchserverfault.com和谷歌没有帮助。 所以 – 我该怎么办? :\高度赞赏任何帮助。

PS:所有软件包都安装在Debian 6中的apt-get安装。

编辑:下面我的nginx vhostconfiguration的摘录:

 server { listen 80; server_name domain.org www.domain.org; access_log /var/log/nginx/domain.access_log; error_log /var/log/nginx/domain.error_log; rewrite_log on; events { debug_connection <my ip>; } [...] 

rewrite模块是内置编译的。 我build议你打开rewrite_log看看会发生什么。

我按照这里的指示,如何configuration重写规则,他们的工作,但起初有点混淆:

http://wiki.nginx.org/HttpRewriteModule#rewrite

我强烈build议的一件事是确保你的nginx构build有debug_connection:

http://wiki.nginx.org/EventsModule#debug_connection

打开这个testingIP,然后发出请求将整个nginx决策过程转储到错误日志中。 这绝对是我在任何Web服务器上使用过的最有用的诊断工具。 它会告诉你到底你的重写规则发生了什么,如果不匹配,或者规则无效,或者完全跳过。 如果apt-get不支持debug_connection,那么使用它重build(非常小的)是值得的。