Разверните angular 6 application и asp.net web api на разных серверах - PullRequest
0 голосов
/ 11 марта 2019

Я развернул угловое приложение (fornt-end-app) на IIS-сервере и развернул asp.net web api application (back-end-app)в другой сервер (используйте другой сервер для приложения для угловых приложений и веб-API asp.net).

при переходе на URL-адрес угловых приложений Я могу получить доступ к моей веб-странице.когда я нажимаю на пункты меню, угловой маршрутизатор направляет меня к запрошенному URL, но я при вводе запрашиваемого URL в браузере получаем IIS 404 не найден ошибка.

не любойИдея для этой проблемы.

Ответы [ 2 ]

2 голосов
/ 11 марта 2019

Это происходит потому, что IIS ничего не знает о клиентских маршрутах, поэтому вы должны написать правило перезаписи, которое говорит, что всегда направлять трафик на неизвестные URL-адреса в файл индекса приложения Angular.После этого Angular позаботится о правильном маршруте.

1 голос
/ 11 марта 2019

IIS пытается перенаправить ваш запрос. Установите IIS для перенаправления в root. После перенаправления IIS в корневой каталог Angular Routing перехватит оставшуюся часть маршрута.

Вот что у меня есть в моем файле Web.config.

<rule name="Force Index.html" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{REQUEST_URI}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_URI}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Rewrite" url="/" />
</rule>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...