nginx中alias和root的區(qū)別詳解
很多同學第一次寫配置時,常常把這兩個混用,導(dǎo)致請求路徑解析錯誤,文件 404。本文就來詳細講解 root 與 alias 的區(qū)別,并通過案例幫你徹底搞懂。
1. 基本概念
root:將 請求路徑 拼接到root指定的目錄下。alias:將 location 匹配到的路徑前綴 替換為alias指定的目錄。
一句話總結(jié): ?? root 是 拼接路徑,alias 是 路徑替換。
2.root示例
location /static/ {
root /var/www/html;
}
請求:
http://example.com/static/logo.png
Nginx 的解析過程:
root = /var/www/html location 匹配 /static/ 請求路徑 = /static/logo.png 最終文件路徑 = /var/www/html/static/logo.png
? 注意:/static/ 仍然會拼接到 root 后面。
3.alias示例
location /static/ {
alias /var/www/images/;
}
請求:
http://example.com/static/logo.png
Nginx 的解析過程:
alias = /var/www/images/ location 匹配 /static/ 去掉 /static/,剩下 /logo.png 最終文件路徑 = /var/www/images/logo.png
? 注意:/static/ 被完全替換成了 /var/www/images/。
4. 最常見的坑
很多人會這樣寫:
location /static/ {
root /var/www/images/;
}
然后請求:
http://example.com/static/logo.png
Nginx 實際解析:
最終路徑 = /var/www/images/static/logo.png ?
因為 root 會把 location 前綴 /static/ 拼接到后面。正確寫法應(yīng)該是:
location /static/ {
alias /var/www/images/;
}
這樣路徑才是:
/var/www/images/logo.png ?
5. 對比總結(jié)
| 特性 | root | alias |
|---|---|---|
| 作用方式 | 拼接請求路徑 | 替換 location 前綴 |
| 最終路徑 | root + location + 請求剩余路徑 | alias + 請求去掉 location 部分 |
| 常見用途 | 整個站點的根目錄 | 單獨路徑映射到特殊目錄 |
| 常見錯誤 | 多拼一層目錄 | 忘記在路徑后加 / |
6. 推薦使用場景
適合用 root
配置整個站點根目錄:
server { root /var/www/html; location / { index index.html; } }
適合用 alias
配置子路徑資源映射:
location /static/ { alias /var/www/project/static/; }
7. 總結(jié)
root= 拼接路徑,常用于全局網(wǎng)站目錄。alias= 替換路徑,常用于某個子路徑單獨映射。- 如果要把
/static/URL 對應(yīng)到/var/www/images/目錄,記得用 alias。 - 如果要整個站點都從
/var/www/html提供,記得用 root。
?? 口訣:
root 拼接,alias 替換。
到此這篇關(guān)于nginx中alias和root的區(qū)別詳解的文章就介紹到這了,更多相關(guān)nginx alias和root區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
nginx經(jīng)過多層代理后獲取真實來源ip過程詳解
這篇文章主要介紹了nginx經(jīng)過多層代理后獲取真實來源ip過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
使用ngxtop實時監(jiān)控Nginx日志文件的示例代碼
在Nginx日志分析領(lǐng)域,ngxtop是一款強大的實時監(jiān)控工具,它能夠即時解析Nginx的訪問日志文件,提供直觀、可定制的實時統(tǒng)計信息,幫助管理員更好地了解服務(wù)器的運行狀況和Web流量,本文給大家介紹使用ngxtop實時監(jiān)控Nginx日志文件的示例代碼,需要的朋友可以參考下2024-01-01
Nginx內(nèi)網(wǎng)單機反向代理的實現(xiàn)
本文主要介紹了Nginx內(nèi)網(wǎng)單機反向代理的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
Nginx報錯“Too many open files”的問題解決
本文主要介紹了Nginx報錯“Too many open files”的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2025-05-05
nginx通過四層代理實現(xiàn)端口轉(zhuǎn)發(fā)的示例代碼
本文主要介紹了nginx通過四層代理實現(xiàn)端口轉(zhuǎn)發(fā),將原IP的3306端口請求轉(zhuǎn)至新IP的3306端口,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧2025-07-07

