NGINX - rewrite_log 无法在任何地方重写日志

NGINX - rewrite_log 无法在任何地方重写日志

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

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

但是这些重写总是失败,而且很难调查,所以我寻找并找到了rewrite_log on一个合适的功能来帮助我。我的服务器块中的 error_lognotice也按照 NGINX 指南设置为级别,但是无论我在哪里放置rewrite_log on和重新加载,它都不会记录与重写相关的任何内容,只有 nginx/php 错误!

我甚至试图将其设置error_logdebug它提供给我的唯一相关信息是以下一行:

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=

我用于重写的一些测试尝试了许多组合:

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 文件。。)或一个不会转到任何地方的下一个按钮(它将 /nextpage/ 发送到谁知道的空白处)而且我无法调试任何这些!有什么线索吗?

我已检查过的事情......

  • /var/log/nginx/errors.log仅提到当我使用reload其服务时,nginx 会重新加载

  • nginx -V节目--with-debug,如果这很重要耸肩

我当前的 NGINX 配置是:

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

我相信是的进行重写, 自从仅有的 /blog/install将允许其后的任意路径不存在,而 /blog/nonexistentblabla 将给我 404,但没有重写日志。

相关内容