1. 程式人生 > >nginx虛擬目錄設置 alias 和 root

nginx虛擬目錄設置 alias 和 root

rewrite nbsp 的人 write 目錄名 分享 工作 .html code

nginx貌似沒有虛擬目錄的說法,因為它本來就是完完全全根據目錄來設計並工作的。

如果非要給nginx安上一個虛擬目錄的說法,那就只有alias標簽比較“像”,幹脆來說說alias標簽和root標簽的區別吧。

最基本的區別:alias指定的目錄是準確的,root是指定目錄的上級目錄,並且該上級目錄要含有location指定名稱的同名目錄。另外,根據前文所述,使用alias標簽的目錄塊中不能使用rewrite的break。

所以使用nginx設置root時要註意一個問題,就是如果該root設置的前端目錄不是根目錄,那麽在寫root的絕對地址時,要把前端目錄的部分省略掉。

我們用設置虛擬目錄指向的alias來和root比較一下就非常明顯了

alias

location /abc/ {     alias /home/html/abc/; }


在這段配置下,http://test/abc/a.html就指定的是 /home/html/abc/a.html。這段配置亦可改成

root

location /abc/ {     root /home/html/;}


可以看到,使用root設置目錄的絕對路徑時,少了/abc,也就是說,使用root來設置前端非根目錄時,nginx會組合root和location的路徑。

另外,使用alias時目錄名後面一定要加“/”

再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!http://www.captainbed.net

nginx虛擬目錄設置 alias 和 root