root是全量拼接,将整个URI追加到指定路径后,要求磁盘结构与URL层级一致;alias是前缀替换,仅拼接location匹配后的剩余路径,脱离磁盘层级约束,且alias值末尾必须带/。

root 是把整个请求 URI(含 location 匹配部分)直接追加到指定路径后;alias 是把 location 匹配的前缀完全去掉,只把剩余路径拼到指定路径后。
root:全量拼接,依赖磁盘结构
location 中写的路径会被完整保留,并加在 root 值后面。磁盘上必须存在与 URL 层级一致的子目录,否则 404。
- 配置:
location /admin/ { root /var/www/html; } - 请求:
/admin/js/app.js - 实际查找:
/var/www/html/admin/js/app.js - root 值末尾加不加
/都可,Nginx 会自动补全,但建议统一写成/var/www/html/
alias:前缀替换,脱离磁盘层级
location 匹配的部分被彻底移除,只用 alias 指定的路径作为新起点,再拼接 URI 剩余部分。磁盘里不需要有对应前缀目录。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 配置:
location /admin/ { alias /var/www/admin/; } - 请求:
/admin/js/app.js - 实际查找:
/var/www/admin/js/app.js -
alias 值末尾必须带
/,否则会错误拼接成/var/www/adminjs/app.js - location 也建议以
/结尾(如/admin/),避免路径截断或正则误匹配
怎么选:看 URL 和磁盘是否对得上
如果站点所有静态资源都按 URL 路径严格放在对应子目录下,比如 Vue 打包产物整个放 /var/www/dist,用 root 更自然;如果只是把某个 URL 前缀映射到一个完全无关的物理目录,比如 /api-docs/ 指向 /opt/swagger/,那就必须用 alias。
混淆两者最常见后果就是 404 或返回错误文件,尤其是斜杠漏写、location 写法不规范时,问题会更隐蔽。

















