Как развернуть приложение Angular 15 с помощью iis с несколькими приложениями
Я попытался изменить базовый адрес в index.html.
<base href="/AppName/">
Я также добавил, что конфигурация перенаправления.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular Routes" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
Я рассмотрел все вопросы в stackoverflow, но там много неактуальной информации, связанной с делами, и ни один из них не сработал для меня. Мне просто нужно, чтобы кто-то сказал мне сделать это, и это сработает.
Для меня безумие, что эта информация не указана в документах, и нам приходится перепрыгивать через вопросы и проблемы, чтобы найти решение.
1 ответ
Чтобы развернуть приложение angular в iis как приложение, вы можете выполнить следующие шаги:
- Запустите команду ниже, чтобы создать угловое приложение:
сборка ng --base-href='/basepath/'
базовый путь будет тем же именем приложения, что и имя приложения iis
- Создайте приложение в iis и укажите путь к дистрибутиву и пути сборки angular, как показано ниже:
C:\имя-приложения\расстояние\имя-приложения
Создайте файл web.config, как показано ниже, по этому пути C:\app-name\dist\app-name:
<configuration> <system.webServer> <rewrite> <rules> <rule name="Angular Routes" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="./index.html" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Примечание. Не забудьте назначить пользователям iis_iusrs и iusr разрешение на корневую папку сайта.