Я новичок в Angular и разработал приложение Angular7.Все отлично работает локально.Но после развертывания на локальный IIS определенный набор маршрутов не выполняется.Это сводит меня с ума, потому что это прекрасно работает в режиме локальной разработки.
Вот маршруты,
{ path: 'event', component: EventPage, data: { title: 'Event' } },
{ path: 'event/:id/detail', component: EventDetailPage, data: { title: 'Event Information' } },
{ path: 'feedback/participated/:eventId/:participantId', component: FeedbackParticipatedPage, data: { title: 'Feedback Participated' } },
{ path: 'feedback/notparticipated/:eventId/:participantId', component: FeedbackNotParticipatedPage, data: { title: 'Feedback Not Participated' } },
{ path: 'feedback/unregistered/:eventId/:participantId', component: FeedbackUnregisteredPage, data: { title: 'Feedback Unregistered' } },
Эти маршруты не имеют авторизации или настройки охраны.Они открыты для обратной связи.
Первые два маршрута работают, но не последние три.
Я развернут в папку с именем test на DefaultWebsite в IIS.Так что теперь, когда я перехожу на http://localhost/test/feedback/participated/1/2
, он перенаправляется на маршрут по умолчанию.Все остальные маршруты, кроме трех вышеперечисленных, работают нормально.Я добавил файл web.config следующим образом:
<?xml version="1.0" encoding="utf-8"?>
<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="/test/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Какие-либо подсказки, почему не работает только один вышеупомянутый маршрут?