NGINX – rewrite_log不工作日志在任何地方重写

我试图学习重写,通过做这样的事情:

^/blog/install/(.*)$ --> /blog/install/index.php?_p=$1 

然而,这些重写只是保持失败,很难调查,所以我看了,发现rewrite_log on作为一个适当的function来帮助我。 我的服务器块中的error_log被设置为notice级别按照NGINX指南,但是无论我放置rewrite_log on和重新加载它将永远不会logging任何有关重写,只有nginx / php错误!

我试图甚至设置error_log debug它会给我的唯一相关的信息是以下行:

 2015/12/14 13:46:26 [debug] 17458#0: *4494 http copy filter: 0 "/blog/install/index.php?_p=" 2015/12/14 13:46:26 [debug] 17458#0: *4494 http finalize request: 0, "/blog/install/index.php?_p=" a:1, c:1 

然而,围绕它的任何东西(包括谈论SSL和HTTP过滤的行)都提及了_p=或者全部。

一些testing,我已经用于重写,我已经尝试了许多组合:

 location /blog/install { try_files $uri $uri/ @install; } location @install { fastcgi_pass unix:/var/run/php5-fpm-site_mainsite.sock; fastcgi_param SCRIPT_FILENAME $document_root/blog/install/index.php; fastcgi_param QUERY_STRING _p=$uri&$args; include fastcgi_params; } 

或者像…

 location /blog/install { rewrite ^/blog/install/(.*)$ /blog/install/index.php?_p=$1? last; } 

和各种相关的,但是我可以得到的最好的是一个无CSS的页面(我猜它也是重写非PHP文件..)或下一个button,不去任何地方(这是发送/下一页/谁知道,无效),我不能debugging任何这个! 任何线索?

我检查过的东西

  • /var/log/nginx/errors.log只提到nginx重新加载时,我的服务使用reload

  • nginx -V显示--with-debug ,如果这件事情耸耸肩

我目前的NGINXconfiguration是这样的:

  error_log /home/site_mainsite/log/errorslog.log notice; rewrite_log on; 

而且我确定它正在进行重写 ,因为只有 /blog/install才会允许任意path,而/ blog / nonexistentblabla会给我一个404,但是没有重写日志。