当 Angular URL 像这样 http://serverpath/a/b 时,如何配置 Nginx 来为 Angular 应用程序提供服务?

当 Angular URL 像这样 http://serverpath/a/b 时,如何配置 Nginx 来为 Angular 应用程序提供服务?

我正在尝试使用 Nginx 提供 Angular(V7)应用程序。

根据https://angular.io/guide/deployment#fallback-configuration-examples

我将默认的 Nginx 配置更改try_files $uri $uri/ =404;

try_files $uri $uri/ /index.html;

我的 Nginx 配置文件如下所示:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /home/shiri/www/public;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        #try_files $uri $uri/ =404;
        try_files $uri $uri/ /index.html;
    }
}

当角度 URL 如下时,这种方法不太好用 http://服务器路径/a/b 所有“.css”和“.js”文件将尝试从http://服务器路径/a/

我在这里看到了这个问题:https://gist.github.com/zdwolfe/6721115和其他一些地方,但还无法修复。

提前致谢。

答案1

您应该在 index.html 中指定一个基本路径:

<base href="/">
<base href="/a/b/">

相关内容