#angular #iis #webapi #url-rewrite-module
Вопрос:
У меня есть угловой и .net core wep api, размещенные в IIS на одном и том же порту.
Ниже приведена структура папок.
Приложение Angular находится в папке wwwroot. (На изображении выше)
Приложение работает нормально. Однако при обновлении угловой страницы я получаю ошибку «Страница не найдена«.
Согласно интернет-исследованиям, это связано с отсутствием правил перезаписи URL-адресов, однако я не могу это исправить.
Я установил модуль URLRewrite. Я добавил следующие строки в файл web.config на изображении#1
lt;?xml version="1.0" encoding="UTF-8"?gt; lt;configurationgt; lt;system.webServergt; lt;rewritegt; lt;rulesgt; lt;rule name="Angular-Routes" stopProcessing="true"gt; lt;match url=".*" /gt; lt;conditions logicalGrouping="MatchAll"gt; lt;add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /gt; lt;add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /gt; lt;add input="{REQUEST_URI}" pattern="^webapi/" negate="true" /gt; lt;/conditionsgt; lt;action type="Rewrite" url="/" /gt; lt;/rulegt; lt;/rulesgt; lt;/rewritegt; lt;/system.webServergt; lt;/configurationgt;
но, похоже, ничего не помогает. Любая помощь будет очень признательна.
Комментарии:
1. …ну, в основном идея заключается в следующем: вы определяете пути ваших контроллеров API для обслуживания json (для ответов ваших контроллеров), для всех остальных маршрутов -gt; отправить index.html (с вашим приложением angular) …
2. Вы использовали ASP.NET Основной шаблон SPA для Angular для создания этого проекта? Если нет, вам придется вернуться к этому.
3. Пожалуйста, проверьте, перенаправляется ли он при обновлении страницы?