我正在配置,以改變部署在nginx中的angular專案的部署。默認的檔案托管在/usr/share/nginx/html,當我從localhost訪問時,它可以作業。然而,我想在URL中定義/dev或/prod,看起來像:localhost/dev或localhost/prod,但當我改變nginx的配置時,它并不作業,因為它一直在尋找/usr/share/nginx/html/dev的檔案
。我怎樣才能重寫URL,使之指向靜態檔案所在的/usr/share/nginx/html?
當前nginx位置配置:
server {
listen 80;
listen [::]:80;
server_name localhost。
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
位置 /dev/ {
root /usr/share/nginx/html;
#index index.html index.htm;
}
}
錯誤:
2021/09/14 01:43:34 [error] 75#75: *7 "/usr/share/nginx/html/dev/index.html "沒有找到(2:沒有這樣的檔案或目錄),客戶端:172.18.0.1,服務器:localhost,請求。"GET /dev/ HTTP/1.1", host: "localhost:4201"
我試著改變了配置,但我面臨一個禁止的問題 配置:
位置/dev/ {
#root /usr/share/nginx/html;
#index index.html index.htm;
alias /usr/share/nginx/html。
try_files $uri $uri/ /index.html;
}
錯誤:
2021/09/14 02:11:45 [error] 92#92: *10 "/usr/share/nginx/html "的目錄索引被禁止,客戶端:172.18.0.1,服務器:localhost,請求。"GET /dev/ HTTP/1.1", host: "localhost:4201"
uj5u.com熱心網友回復:
我在網上找到了一些資源,這些資源幫助我排除了故障,并設法使其正常運行。
如果你面臨nginx的HTML被禁止 --> https://programmer.group/directory-index-of-usr-share-nginx-html-is-forbidden.html
對于別名,我們需要在后面加上/
。
location /prod/ {
alias /usr/share/nginx/html/dev/;
try_files $uri $uri/ /index.html。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/316519.html
標籤:
