私は#を削除しようとしています!私の角張ったサイトで、html5への移行。私は他のガイドを見てきましたが、私はそれらをlocationProviderで実装し、インデックスファイル内に置いています。あなたがリンクにng-hrefを通すとサイトはうまく動作しますが、リフレッシュを押すと/ urlを直接入力すると404エラーが発生します。私はこれがサーバー側と関係していることを読んでいました。それは、.otherwise()がhashbang関数であるため、404がヒットしたときにどこにルーティングするかを知らないということです。#を削除しています。 from Angels.js ASP.Net Web APIのURL
私は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();
すべてのヘルプは
mapHttpRouteラインを提供する前に、このignoreRouteを追加する必要があると言っていますか? 'config.Routes.IgnoreRoute(routeName:" DefaultApi "、routeTemplate:" api/{コントローラ}/{id} "); // mvcのAPIルートを無視する ' –
あなたは既に既存のmvcルーティングを用意していますか? –
MVCルーティングは、text/html要求に対する通常のget要求に応答するためのものです。 Web APIがデータを提供し、MVCがページを提供します。それがmvcルーティングが必要な理由です。 もう1つのオプションは、コンテンツタイプがtext/htmlのindex.htmlのコンテンツを返すだけのAPIコントローラを作成することです。または、あなたのiisの設定でURL書き換えを試すことができます –