1. 程式人生 > >nginx的location配置root、alias用法和區別

nginx的location配置root、alias用法和區別

必須 del 實例 解釋 一個 clas 指定 不同的 否則

  1. root & alias區別
    root與alias主要區別在於nginx如何解釋location後面的uri,這會使兩者分別以不同的方式將請求映射到服務器文件上
    root的處理結果是:root路徑+location路徑
    alias的處理結果是:使用alias路徑替換location路徑
    alias是一個目錄別名的定義,root則是最上層目錄的定義
    還有一個重要的區別是alias後面必須要用“/”結束,否則會找不到文件的,而root則可有可無
  2. 實例詳解
    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
    /index.html的文件
    因為alias會把location後面配置的路徑丟棄掉,把當前匹配到的目錄指向到指定的目錄
  3. 註意:
    1. 使用alias時,目錄名後面一定要加"/"
    2. alias在使用正則匹配時,必須捕捉要匹配的內容並在指定的內容處使用
    3. alias只能位於location塊中(root可以不放在location中)

nginx的location配置root、alias用法和區別