Как настроить 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/">