Мне нужна помощь. Я начал разрабатывать angular2 с ядром Asp.net, и все было идеально. Для перенаправления всего 404 запроса на index.html я использую этот код в классе Startup.Angular2 routing with Asp.net 4.5
app.Use(async (context, next) =>
{
await next();
if (context.Response.StatusCode == 404
&& !Path.HasExtension(context.Request.Path.Value))
{
context.Request.Path = "/index.html";
await next();
}
});
Но, мне нужно вернуться к asp.net 4.5, и теперь у меня есть большая проблема с маршрутизацией. Я пытаюсь использовать аналогичный код в классе запуска Owin, но это не решило проблему.
Как перенести весь запрос на index.html? Один пример: у меня есть ссылка, которая перенаправляется на/logout, но с этим кодом в настоящее время app.module не отображается/выходит из системы, и я перенаправляюсь на домашнюю страницу приложения.
В учебнике, как использовать angular2 с осиной 4.5 (https://angular.io/docs/ts/latest/cookbook/visual-studio-2015.html) в последнем абзаце говорится:
Если это приложение используется Угловое маршрутизатор, обновление браузера может возвращать 404 - Страница не найдена. Посмотрите на адресную строку. Это содержит навигационный url («глубокая ссылка») ... любой путь, кроме/или /index.html?
Вам необходимо настроить сервер для возврата index.html для этих запросов. До тех пор, пока вы это сделаете, удалите навигационный путь и обновите его снова.
Как это сделать? Спасибо!
Спасибо, человек, вы гений! – Djanko