Angular Js Strange问​​题Ui Router Html5mode在mvc 500错误中启用了页面刷新问题

时间:2016-05-20 06:21:30

标签: angularjs asp.net-mvc asp.net-mvc-4 angular-ui-router iis-7.5

我已启用html5mode从网址中删除Hashing,之后我收到错误。所以我在母版页中提到了基本href。在web config中设置重写URL。

当我进入状态视图页面并刷新页面时,它将显示错误的url。当在iis 7.5中启动应用程序时出现错误。

因为我已经重写了网址。

enter image description here

<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>

任何人都可以帮助

1 个答案:

答案 0 :(得分:1)

当你启用html5mode时,你的所有请求都应该重定向到你的主url(你的应用程序从ex.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 }
            );
        }