nginx指定檔案路徑有兩種方式root和alias,指令的使用方法和作用域:
[root]
語法:root path
預設值:root html
配置段:http、server、location、if
[alias]
語法:alias path
配置段:location
在於nginx如何解釋location後面的uri,這會使兩者分別以不同的方式將請求對映到伺服器檔案上。
root的處理結果是:root路徑 + location路徑
alias的處理結果是:使用alias路徑替換location路徑
alias是乙個目錄別名的定義,root則是最上層目錄的定義。
還有乙個重要的區別是alias後面必須要用「/」結束,否則會找不到檔案的,而root則可有可無。
例:
# 如果乙個請求的uri是/t/a.html時,web伺服器將會返回伺服器上的/www/root/html/t/a.html的檔案。
location ^~ /t/
# 如果乙個請求的uri是/t/a.html時,web伺服器將會返回伺服器上的/www/root/html/new_t/a.html的檔案。
# 注意這裡是new_t,因為alias會把location後面配置的路徑丟棄掉,把當前匹配到的目錄指向到指定的目錄。
location ^~ /t/
使用alias時,目錄名後面一定要加"/"。
alias在使用正則匹配時,必須捕捉要匹配的內容並在指定的內容處使用。
alias只能位於location塊中。(root可以不放在location中)
root目錄配置中,location匹配的path目錄後面帶不帶"/",都不會影響訪問。 所以,一般情況下,在nginx配置中的良好習慣是:1)在location /中配置root目錄;
2)在location /path中配置alias虛擬目錄。
Nginx配置靜態資源的root和alias配置
在配置nginx靜態資源的時候可以通過root和alias兩種方式處理 預設主機為192.168.1.1 埠為80下 location test 這裡使用root配置 如果訪問 192.168.1.1 test a.html 則對應的路徑為 usr local test a.html通過root配置...
Nginx中alias與root的區別
以前只知道nginx的location塊中的root用法,用起來總是感覺滿足不了自己的一些想法。然後終於發現了alias這個東西。1 root的用法 location request path image 這樣配置的結果就是當客戶端請求 request path image cat.png 的時候,...
Nginx中root與alias的用法及區別
nginx中root與alias都是定義location 塊中虛擬目錄訪問的檔案位置 先看看兩者在用法上的區別 location img 若按照上述配置的話,當客戶端請求訪問 img 目錄裡面的檔案時,ningx會自動去 var www image 目錄找檔案 location img 若按照這種配...