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 }
       );
Другие вопросы по тегам