Получение ошибки 404, когда Angular HTML5Mode имеет значение true

Я реализовал красивый URL-адрес в angular (перешел на html5mode).

Когда я обновляю страницу, я получаю ошибку 404.

Например: если я открываю свое приложение, используя http://server/, все работает нормально, но когда я ссылаюсь на страницу или попробуйте открыть определенную страницу, например http://server/mypage, я получаю ошибку 404.

Примечание.

  • При компиляции моего приложения я комбинирую шаблоны в javascript.
  • И после компиляции мои скрипты (с шаблоном) помещаются в папку сборки, а базовый тег в index.html установлен на «/»;.

  • Я использую Angular-UI-маршрутизатор.

  • Использование .net в качестве бэкенда.
  • Фронтенд-приложение полностью отделено от бэкэнда, и оба развернуты в IIS.

Пожалуйста, предложите, что может быть возможным решением или причиной ошибки.

Спасибо


person Abhishek Shukla    schedule 28.06.2017    source источник


Ответы (1)


Вы должны проверить свои настройки в бэкенде, когда я использую историю html5, у меня есть для этого мой файл .htaccess (где вы перенаправляете все свои запросы в ваш корневой файл index.php или index.html), посмотрите мой .htaccess:

RewriteEngine On  
  # If an existing asset or directory is requested go to it as it is
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
  RewriteRule ^ - [L]

  # If the requested resource doesn't exist, use index.html
  RewriteRule ^ /index.html

если это не поможет, вы можете прочитать это [ статья]

person Dmitry Matrosov    schedule 06.07.2017