nginx之alias配置---root与alias区别
########
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | server{ listen 9002; server_name 192.168.119.140; client_max_body_size 1024M; location / { root /home/shiyongbin/html;######项目一 index index.html; try_files $uri $uri/ @router; } location @router { rewrite ^.*$ /index.html last; } ############## location /tangbao/ { alias /home/shiyongbin/ceshihtml/;######指向另一个html页面 index index.html; } ################################################### } |
nginx的静态文件配置中,root和alias指令都能实现。为了避免混淆,尽量不要写没有根路径的url模式,即避免 static/
这样的开头,根路径的斜杠需要保留,没有根路径其实也很奇怪。
root和alias的区别主要在于替换的部分,root模式中,会把root配置的路径替换匹配后的url中的host。alias则把他指定的路径,替换url中匹配的部分。指令中的斜杠对于root指令没有影响,对于alise则按照替换规则匹配即可。
root 指令
location /dir/ root root_path -> http://host/dir/file.txt -> root_path/dir/file.txt
alias 指令
location /dir alias alias_path -> http://host /dir /file.txt -> alias_path/file.txt location /dir/ alias alias_path/ -> http://host /dir/ file.txt -> alias_path/file.txt
了解了root和alise之后,通常最佳实际是配置一个项目的根root,其他的文件夹则使用alias,毕竟alias更加灵活。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)