sudone.com 服务器系统架构分析日志


nginx在location中设定error_page引发的问题

[2010-04-13 11:11:16]
先看看这段配置:

server {
include port.conf;
server_name xx.xxxx.com;

location / {
proxy_pass  http://xx.xxxx.com;
include proxy.conf;
charset UTF-8;
}

location /img/ {
alias /data/html/img/;
error_page 404 =200 /images/default.jpg;
}

}

这段配置里粗体的部分是我后加进去的,加进去以后,访问/img/下的不存在文件/img/abc,居然从后端服务器返回404错误,显示/img/abc不存在。

照理说,nginx应该先在location /img/中找/img/abc文件,出现404,然后再去到后端服务器找/images/default.jpg,/image/default.jpg是能访问的,所以最后不应该出现404。

实在是想不通nginx处理这种情况的逻辑,所以只好加上一个location:

location /images/ {
alias /data/html/images/;
}

这样才能解决问题。

站名:sudone.com; 站长:Ayou; 服务器:ubuntu+nginx+squid+php