【发布时间】:2017-11-11 17:16:48
【问题描述】:
所以我试图删除 #!在我的角度网站中并过渡到 html5。我查看了其他指南,并在索引文件中使用 locationProvider 和 base 实现了它们。当您通过 ng-href 将其定向到链接时,该站点工作正常,但是当我按下刷新/直接输入 url 时,我收到 404 错误。我正在阅读这与服务器端有关,因为 .otherwise() 是一个 hashbang 函数,所以当 404 被击中时它不知道路由到哪里。
话虽如此,我查看了 WebApi 配置,发现如果要达到 404,我已经指定了一个默认 routeTemplate,如下所示。
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var jsonFormatter = config.Formatters.OfType<JsonMediaTypeFormatter>().First();
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
任何帮助将不胜感激
【问题讨论】:
标签: javascript angularjs asp.net-web-api hashbang