Frage

Ich habe UrlRewriter.net auf meiner Website heute und es funktioniert gut mit meinem SEO Link zu aktuellen Seiten umleiten. Die Frage ist, ob es eine Möglichkeit, meine alten Links in Ort zu halten und haben ResolveUrl () in meiner Seite, die Regeln zur Ausgabe von Links. Die „alten“ Links sollten nie entweder durch Suche Bots oder Nutzern eingesehen werden.

Beispiel Link auf der Seite:

<a href="<%= ResolveUrl("~/Help.aspx") %>">Help</a>

Ich habe Rewrite-Code wie folgt in web.config:

<rewrite url="~/help" to="~/help.aspx" />
<rewrite url="~/help/(.+)" to="~/help.aspx?section=$1" />

Zuerst wäre es toll, die Links ohne zusätzliche Arbeit gemacht zu haben, wie MVC hat. Die zweitbeste ist, wenn es eine schöne Art und Weise ist nur noch hinzufügen, Regeln für die „anderen Weg“ als auch in der Rewrite-Liste.

Dies würde ermöglichen es mir auch zu easally Ein / Ausschalten Umleiten beim Debuggen.

War es hilfreich?

Lösung

Ok. Ich implementiert, um die Routing tecnique in MVC Routing in meinem web.forms statt, die mich unter Code verwenden dürfen:

ASPX:

<%= Url.RouteUrl("article", new { name="my-name-for-artcile"}) %>

Und registriert alle Routen an einem Ort wie:

routes.MapWebFormRoute("articles", "artiklar", "~/articles.aspx");

ich den Code verwendet Phil Haack aus über Webform Routing , aber es in einer kleinen Weise verändert, um es mit Masterseiten erhalten zu arbeiten und auch som web.config settigns hinzugefügt erhalten sie problemlos auf Server mit nicht-aspx Urls arbeiten.

http: // blog. joakimfischer.se/post/2009/11/08/Web-Form-Routing.aspx

Jetzt funktioniert es wie beabsichtigt, aber ich stoped UrlRewriter.net mit der Funktionalität erhalten ich wollte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top