Можете ли вы помочь мне выяснить, что я упустил при развертывании моего приложения Angular 8 на сервере разработчика.
Сначала я создаю свое приложение с помощью этой команды.
ng build --configuration=dev --base-href /my-sample-app/
Во-вторых, на сервере я вставляю содержимое папки dist
в
D:\webapps\mysampleapp
В-третьих, я добавляю новое приложение в IIS. Я устанавливаю alias
на my-sample-app
и указываю physical path
на D:\webapps\mysampleapp
Содержание моего web.config ниже
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Angular" 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>
base href
в моем Index.html
это
<base href="/my-sample-app/">
Моя проблема была, каждый раз, когда я нажимаю https://dev.company.com/my-sample-web
я получаю 403 - Forbidden: Access is denied.
ошибку.
Но, когда я пытаюсь получить доступ к другой странице, такой как https://dev.company.com/my-sample-web/other-component
, она загружает страницу как положено.
У меня также есть этот маршрут в моей angular маршрутизации.
{
path: '',
pathMatch: 'full',
loadChildren: './feature/my-sample-app/sampleapp.module#SampleAppModule',
canActivate: [Auth_Guard]
}
Есть идеи, что я сделал не так?
TIA!