我正在嘗試將GET /
重寫爲/srv/app/static/index.html
。我密切與這幾個指令:nginx如何在位置塊中構造文件路徑?
root /srv/app/static;
location /static {
alias /srv/app/static;
}
location =/{
alias /srv/app/static/index.html;
}
所以,當我GET /static
,nginx的服務於/srv/app/static/index.html
文件,我很高興。
但是,當我GET /
,nginx返回404.檢查日誌,我看到它試圖訪問文件/srv/app/static/index.htmlindex.html
(原文如此)。爲什麼它會在alias
中給出的路徑上添加額外的index.html
?
如果我改變指令
location =/{
index index.html;
alias /srv/app/static/;
}
錯誤日誌顯示它試圖訪問/srv/app/stati
(原文如此,它會從/srv/app/static
最終c
字符這是怎麼回事
編輯:?
我可以得到我想要的行爲使用rewrite
像這樣:
location =/{
rewrite (.*) /static/index.html;
}
但是,我認爲alias
是更高性能和慣用。