Angular Js Странная проблема Ui Router Html5mode включил проблему обновления страницы в mvc 500 error
Я включил html5mode, чтобы удалить Hashing из веб-адреса, после этого я получаю сообщение об ошибке. Поэтому я упомянул базовый href на главной странице. установить переписать URL в веб-конфигурации.
когда я перехожу на страницу просмотра состояния и обновляю страницу, она показывает неправильный URL-адрес. При запуске приложения в iis 7.5 возникает ошибка.
для этого я переписал URL.
<rewrite>
<rules>
<rule name="RewriteRules 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="home/home"/>
</rule>
</rules>
</rewrite>
</system.webServer>
Может кто-нибудь мне помочь
3 ответа
Когда вы включаете html5mode, все ваши запросы должны перенаправляться на ваш основной URL (где ваше приложение запускается, например, home/index). попробуйте добавить приведенный ниже код в метод RegisterRoutes
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default1",
url: "{*.}",
defaults: new
{
controller = "Home",
action = "Index",
}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
Я получил ту же ошибку, решение перенаправляет на домашний индекс, хотя URL меняется на учетную запись / логин
Я попробовал ваше решение, но когда я обновляю страницу, приложение возвращается на страницу входа. По умолчанию оно переходит на домашнюю страницу, а не на страницу входа.
routes.MapRoute(
name: "Default1",
url: "home/{*.}",
defaults: new
{
controller = "Home",
action = "Index",
}
);
routes.MapRoute(
name: "customer",
url: "customers/{*.}",
defaults: new
{
controller = "Home",
action = "customer",
}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);