Arkadeep De Ответов: 2

Развертывание приложения angular 5 в IIS


Привет,

Я пытался разместить угловое приложение в локальном IIS. Он работает нормально, если только до тех пор, пока использование не нажмет кнопку обновления браузера. После нажатия кнопки обновления он получает ошибку 404.0.

Что я уже пробовал:

После просмотра различных сайтов я добавил файл web.config в эту папку

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="AngularJS Routes" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
            <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
          </conditions>
          <action type="Rewrite" url="/ePortal" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>


ePortal-это просто имя моего приложения в IIS.

После добавления этого я получаю ошибку 500.19.

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.


Пока я делаю ng-serve, он работает абсолютно нормально. Я также попытался с помощью добавления веб.файл config в активы тег в угловых-Кинк.в формате JSON. Ничего не работает.

Кто-нибудь может сказать мне, что делать?

Richard Deeming

Откройте сайт в браузере, работающем на сервере. Вы получите гораздо более подробное сообщение об ошибке, которое объяснит, в чем заключается проблема.

Arkadeep De

Там нет ничего, что показывало бы ошибку, кроме ошибки 500.19. Если это так, то я бы сначала поискал ошибку, а не публиковал ее здесь.

Richard Deeming

Если вы просматриваете страницу на сервере, она покажет вам строку конфигурационного файла, который вызывает проблему, и детали проблемы.

Без этих дополнительных деталей можно только догадываться, в чем может заключаться проблема.

Arkadeep De

HTTP Error 500.19 - Внутренняя ошибка сервера
Доступ к запрошенной странице невозможен, поскольку соответствующие конфигурационные данные для этой страницы являются недопустимыми.

Подробная Информация Об Ошибке:
Модуль IIS Web Core
Уведомление Неизвестно
Обработчик еще не определен
Код ошибки 0x8007000d
Ошибка Конфигурации
Конфигурационный Файл \\?\C:\d\Arka\Angular\Projects\p\web.config
Запрошенный URL-адрес http://localhost:81/
Физический Путь
Способ входа в систему еще не определен
Пользователь входа в систему еще не определен

Источник Конфигурации:
-1:
0:


это общее сообщение об ошибке, которое я получаю после установки web.config. Без web.config сайт работает, но обновление не работает.

Richard Deeming

И есть недостающая часть ошибки. :)

Bryian Tan

не ясно, какие волшебные файлы в папке ePortal, я предполагаю, что приложение не может найти целевую страницу или не знает, какой волшебный файл в папке является целевой страницей.

Arkadeep De

в папке ePortal нет никаких волшебных файлов. Это всего лишь файлы сборки prod простого углового приложения, состоящего из 2 компонентов.. все работает нормально, если только я не обновлю размещенный сайт prod build.

2 Ответов

Рейтинг:
2

walter arguello

Хорошо, решение, оно работает. Спасибо.


CHill60

Если вы хотите прокомментировать решение, нажмите на ссылку "задать вопрос или комментарий" рядом с ним. Это не решение проблемы

Рейтинг:
12

Richard Deeming

Ошибка 0x8007000d означает, что модуль перезаписи URL (указанный в web.config) отсутствует или не установлена правильная версия.

Вам необходимо установить модуль перезаписи URL-адресов:
Переписывание URL-адреса : официальный сайт Microsoft IIS[^]


Arkadeep De

Спасибо, это реальное решение.. (y)