簡體   English   中英

Nginx 重新加載一個 Angular 應用程序

[英]Nginx reload an angular application

我的 Angular 6 應用程序配置:

server {
    listen 80 default_server;
    root /usr/share/nginx/html;
    index index.html;
    server_name localhost;

    try_files $uri $uri/ /index.html;
    expires       0;
    add_header    Cache-Control  private;
    add_header    Cache-Control  must-revalidate;

    location / {
        add_header    Cache-Control  no-store;
        add_header    Cache-Control  no-cache;
    }

    location /assets/fonts {
    }
}

當我按下 F5 時,我得到“404 Not Found”

如果我將配置更改為:

server {
    listen 80 default_server;
    root /usr/share/nginx/html;
    index index.html;
    server_name localhost;
    location / {
        try_files $uri $uri/ /index.html?$args;
        expires       0;
        add_header    Cache-Control  private;
        add_header    Cache-Control  no-store;
        add_header    Cache-Control  no-cache;
        add_header    Cache-Control  must-revalidate;
    }
}

我的頁面重新加載成功。

但是我需要為/assets/fonts 配置緩存設置。 如何解決?

謝謝你。

您的第一個配置不起作用,因為使用了不包含任何規則的位置塊。

為了實現你想要的,它可以像這樣工作,而不必在/assets/fonts位置添加第二次嘗試

server {
    listen 80 default_server;
    root /usr/share/nginx/html;
    index index.html;
    server_name localhost;
    location / {
        try_files $uri $uri/ /index.html?$args;
        expires       0;
        add_header    Cache-Control  private;
        add_header    Cache-Control  no-store;
        add_header    Cache-Control  no-cache;
        add_header    Cache-Control  must-revalidate;
    }

    location /assets/fonts {

     root /usr/share/nginx/html; #instead of using try_file
     #Add your headers here
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM