Nginx中的root與alias的差別

2021-10-17 11:27:13 字數 1011 閱讀 3006

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 若按照這種配...