Nginx如果rewrite写了很多条,很容易发现rewrite写的没问题,可是就是匹配不了,很可能已匹配到其它rewrite中去了。打开rewrite的log,可以清晰的看到其匹配的先后顺序,和那一条匹配了。 方法: 1:在http段加入如下: rewrite_log on; error_log logs/xxxerror.log notice; 注意两点:1)在http字段加,反正我试了一下,在配置文件的开始位置,nginx会报rewrite_log 是一个不识别的变量。 2)注意 error_log的级别是notice,否则不会显示其具体的匹配过程,但需要注意,最好在测试环境下调试,error_log会增长的很快,我们网站20分钟5G多,所以在线上调试完了,尽快关闭!!!或说改成error级别的。
|