nginx的location配置root、alias用法和區別
阿新 • • 發佈:2018-01-05
必須 del 實例 解釋 一個 clas 指定 不同的 否則
- root & alias區別
root與alias主要區別在於nginx如何解釋location後面的uri,這會使兩者分別以不同的方式將請求映射到服務器文件上
root的處理結果是:root路徑+location路徑
alias的處理結果是:使用alias路徑替換location路徑
alias是一個目錄別名的定義,root則是最上層目錄的定義
還有一個重要的區別是alias後面必須要用“/”結束,否則會找不到文件的,而root則可有可無 - 實例詳解
root實例:
location ^~ /web/ {
root /www/root/html/;
}
如果一個請求的URI是/web/index.html時,web服務器將會返回服務器上的/www/root/html/web/index.html的文件
alias實例:
location ^~ /web/ {
alias /www/root/html/new_web/;
}
如果一個請求的URI是/web/index.html時,web服務器將會返回服務器上的/www/root/html/new_web
因為alias會把location後面配置的路徑丟棄掉,把當前匹配到的目錄指向到指定的目錄 - 註意:
1. 使用alias時,目錄名後面一定要加"/"
2. alias在使用正則匹配時,必須捕捉要匹配的內容並在指定的內容處使用
3. alias只能位於location塊中(root可以不放在location中)
nginx的location配置root、alias用法和區別