Ich versuche zu .aspx
Seiten mit .html
Erweiterungen eingehende HTTP-Anforderungen zu zeigen und neu schreiben die URLs im Browser, so dass weder die .html
oder .aspx
Erweiterungen werden angezeigt.Stripping .html Erweiterungen von Anfragen und .html-Anfragen umleiten Seiten .aspx
Details:
Wenn ein Benutzer beispielsweise localhost:123/lorem/ipsum.html
, würde ich wieder die ~/Views/lorem/ipsum.aspx
Seite. Die URL sollte wie folgt aussehen: localhost:123/lorem/ipsum
.
Eine Hälfte davon wird mit dem AspNet.FriendlyUrls
Paket behandelt. In meiner RouteConfig.cs
Datei, habe ich eine Reihe von Regeln wie folgt aus:
routes.MapPageRoute("Ipsum", "lorem/ipsum", "~/Views/lorem/ipsum.aspx");
Dies stellt sicher, dass, wenn ein Benutzer sendet eine Anforderung aus, um localhost:123/lorem/ipsum
, dann sind die .aspx
Seite geladen wird mit der richtigen URL Nomenklatur im Browser Fenster.
Ich möchte herausfinden, wie man dies auf eingehende Anfragen mit .html
am Ende zu erweitern.
routes.MapPageRoute("Ipsum Html Redirect", "lorem/ipsum.html", "~/Views/lorem/ipsum.aspx");
RouteConfig.cs
Regel Benutzer von
.html
zu
.aspx
Seiten zu umleiten, mit der Hoffnung, die URL URL Schreibungen in der Web-config korrekt angezeigt werden, aber in einer 404 auf die Seite geführt Navigation
Ich bin sehr verwirrt über die Routing-Pipeline. Haben die Regeln zum Umschreiben/Umleiten von Web.config Vorrang vor den Regeln RouteConfig.cs
? Gibt es eine Möglichkeit, mein Problem zu beheben, indem Sie eine Web.config
Rewrite oder Redirect-Regel hinzufügen, so dass dies mit meinen RouteConfig.cs
Regeln funktioniert?