【发布时间】:2014-11-02 01:24:33
【问题描述】:
好的,所以我在 asp.net mvc 5 中托管了一个 angularjs,并在我的 angular 应用程序中使用 html5mode(true) 来消除 url 中的所有哈希符号。
一切都很好,但是,我目前的设置如下所示:
RouteConfig.cs:
routes.MapRoute(
name: "Default",
url: "app/{angular}",
defaults: new { controller = "Ng", action = "Index", angular= UrlParameter.Optional }
);
因此,当我导航到 http://url/app/myangularroute 时,我的 Ng/Index 操作会返回包含 ng-view 容器的视图,并且 Angular 应用程序现在处于活动状态并且正在工作提供路线
现在,我的问题是,当我导航到 http://url/app/ 时,它会返回一个我无法理解的 dir listing not allowed 错误。当 angular 参数设置为可选时,不应该返回我的索引操作吗?
我可以以某种方式完全避免“应用程序”并且仍然让我的角度应用程序工作吗?我尝试了一些重写规则,但这给了我很多错误,因为我正在使用 mvc 捆绑和缩小功能。
我可以接受现在的 url 格式,但不需要提供可选参数,例如 http://url/app/
此外,它只是一个 Angular 应用程序,除了 index.cshtml 包装器之外没有其他 mvc 视图。
This guy seems to get it to work, but I can't see his mvc routes
【问题讨论】:
-
您使用的是什么版本的 IIS?是 IIS 6 吗?
-
我不确定,我正在部署到 windows azure,我认为他们没有使用这么旧的版本...我假设 IIS 8。你认为这可能是一个 IIS 问题?跨度>
-
是的,它是第 8 版
标签: asp.net html angularjs routing