我对 Nginx 中的路由处理有些困惑。
server {
listen 80;
listen [::]:80;
server_name my_domain;
root /var/www/ep;
index index.html;
error_page 403 404 /my403.html;
location /images/ {
try_files $uri @not_found;
}
location @not_found {
root /var/www/ep/not_found;
try_files NON_EXISTENT_1 /not_found.jpg;
}
}
对于上述配置,当我访问http://我的域名/images/xyz.png或者http://我的域名/图片/我期望@not_found
位置指令能够返回图像/var/www/ep/not_found/not_found.jpg
(它存在),但不知何故/var/www/ep/not_found.jpg
路径正在被尝试(它不存在)。结果显示/my403.html
文件。
我想使用命名位置方法(@not_found
)。
有人能解释一下这里发生了什么吗?
为何/var/www/ep/not_found/not_found.jpg
沒有送達?