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级别的。
Nginx 的详细介绍:请点这里
Nginx 的下载地址:请点这里