Как настроить Nginx для обслуживания приложения Angular, когда угловые URL-адреса похожи на http://serverpath/a/b?

Я пытаюсь обслуживать приложение Angular(V7) с Nginx.

в соответствии с https://angular.io/guide/deployment

Я изменяю конфиг 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://serverpath/a/b все файлы ".css" и ".js" будут пытаться загрузить с http://serverpath/a/

Я видел эту проблему здесь: https://gist.github.com/zdwolfe/6721115 и в некоторых других местах, но не смог исправить.

Заранее спасибо.

1 ответ

Решение

Вы должны указать базовый путь в index.html:

<base href="/">
<base href="/a/b/">
Другие вопросы по тегам