使用 root 将 URL 路径追加到目录后。使用 alias 将匹配的 URL 前缀替换为目录。
用同一个请求比较两种方案
对于 /images/logo.png 请求,比较 server 块中的以下两种 location;每次只使用其中一种:
nginx
location /images/ {
root /srv/site;
}
这会查找 :完整路径 被追加到 后面。
使用 root 将 URL 路径追加到目录后。使用 alias 将匹配的 URL 前缀替换为目录。
对于 /images/logo.png 请求,比较 server 块中的以下两种 location;每次只使用其中一种:
location /images/ {
root /srv/site;
}
这会查找 :完整路径 被追加到 后面。
一个包含详细解答的 IT 面试题库——从初级到高级。
捐赠/srv/site/images/logo.png/images/logo.png/srv/sitelocation /images/ {
alias /srv/assets/;
}
这会查找 /srv/assets/logo.png:/images/ 被替换为 /srv/assets/。
当 URL 与目录结构一致时,选择 root。当公开 URL 和真实目录的名称不同,选择 alias。如果出现 404,先计算最终路径,确认 worker 能读取该文件,再修改其他无关设置。
保持路径边界处的斜杠一致。这些例子使用前缀 location;正则表达式 location 中的 alias 需要单独处理路径和捕获组。
官方文档.