Перезагрузка страницы дает 404, не найденный в angular 6 при развертывании на сервере - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть маршрут под названием / исследовать в моем ангуляре.При запуске локально, если я перехожу к маршруту, который он отображает, работает, и если я перезагружаюсь, он также перезагружается.Я развернул тот же код на сервере Ubuntu 16.04 и использовал http-сервер для его запуска.Проблема в том, что если я нажимаю на маршрут, по которому он перемещается, но если я перезагружаю страницу, она говорит: «404 - Страница не найдена».,Простой обходной путь, который я обнаружил, состоял в том, чтобы использовать "HashLocationStrategy", но это добавляет # к URL.Любая помощь приветствуется.

1 Ответ

0 голосов
/ 23 ноября 2018

Если вы этого еще не сделали, добавьте файл .htaccess в корневую папку вашего веб-сервера (это папка, в которой вы развернули приложение) со следующим содержимым:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

Что происходит здесьВы просите веб-сервер вернуть index.html при ошибке - например, ошибка 404.Затем Angular вступит во владение и использует маршруты, которые вы установили в Angular.Я надеюсь, что это поможет, но дайте мне знать, если нет.

...