場景
Nginx搭建靜態資源對映實現遠端訪問伺服器上的圖片資源:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117283572
以上在配置靜態資源對映時使用的如下配置
location / {
root D:/pic_old/;
try_files $uri $uri/
/index.html;
index index.html index.htm;
}
如果想實現在對映後的路徑新增字首,比如
location /report/ {
root D:/pic_old/;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
原本想實現在訪問
http://127.0.0.1:250/report/mark.jpg
時找到D:/pic_old/下的mark.jpg檔案,發現卻實現不了。
透過檢視日誌發現,注意這裡配置的是test,不是pic_old
使用root,則Nginx 會將請求的 URL 路徑與指定的根目錄路徑進行拼接。這意味著 URL 中的路徑會對映到檔案系統中的對應位置。
注:
部落格:
https://blog.csdn.net/badao_liumang_qizhi
實現
root配置
使用 root 指令時,Nginx 會將請求的 URL 路徑與指定的根目錄路徑進行拼接。
這意味著 URL 中的路徑會對映到檔案系統中的對應位置。
假設我們有以下配置
location /report/ {
root D:/test/;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
當收到的請求是
http://127.0.0.1:250/report/mark.jpg
Nginx會查詢檔案系統中的D:/test/report/mark.jpg並返回該檔案。
alias配置
與 root 不同,alias 指令允許我們在返回檔案時,重寫 URL 路徑的部分或全部。
這對於需要在返回檔案時修改 URL 路徑的情況非常有用。
假設有如下配置
location /report/ {
alias D:/test/;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
當收到的請求是
http://127.0.0.1:250/report/mark.jpg
Nginx會查詢檔案系統中的D:/test/mark.jpg並返回該檔案。