首页 > 解决方案 > 配置 NGINX 位置以包含子路径

问题描述

我有一个配置如下的 NGINX 位置块。这重定向到一个角度应用程序并且工作正常。但是,当我导航到 Angular 应用程序中的子路径时/path/subdir,NGINX 会返回 404。

显然,这个位置块只向 Angular 发送请求,/path但不/path/other向 Angular 发送请求。

location /path {       
    try_files $uri $uri/ =404;
}

我已经尝试过诸如此类的变体,但结果相同

location /path/
location /path/.*

如何获得 NGINX 以便将发送到同一 Angular 应用程序下的所有流量发送到/path同一 Angular 应用程序,以便 Angular 应用程序可以处理路由到子目录,例如/path/subdir

标签: nginxurl-routing

解决方案


好吧,我结束了这个小恐怖节目,但它似乎奏效了。

location ~ ^/path(?:/(.*))?$ {
    root /usr/share/nginx/html;
    index index.html;
    try_files $uri $uri/ /path/index.html =404;
}

推荐阅读