Frage

Ich mag meine Website suchmaschinenoptimierte Links für dynamische Inhalte (anstelle von Daten über die Abfragezeichenfolgeflag Ortung) erstellen. Damit:

mysite/SomeModifiableNname.aspx
anstelle von

mysite/DynamicContent.aspx?entryID=2345
.

Neben einem intelligenten 404-Handler, die Anforderungen umleitet oder einen benutzerdefinierten Mime-Type-Handler in IIS, ist es eine gute Lösung für den in ASP.NET?
Wenn man bedenkt, dass die Seite Dateinamen der Lage sein müssen zur Laufzeit geändert werden.

War es hilfreich?

Lösung 4

Danke für jeden Gedanken. Mit den bereitgestellten Informationen, stieß ich auf, was ich denke, die Lösung ist, ich brauche:

In der Global.asax (oder über ein Httpmodule), hören Sie das Ereignis Beginrequest und Context.Rewrite Pfad gilt dort:

void Application_BeginRequest(object sender, EventArgs e)
{
    string fullOrigionalpath = Request.Url.ToString();

    if (fullOrigionalpath.ToLower().Contains("/Games".ToLower()))
    {
        Context.RewritePath("Default.aspx?id=Games");
    }

}

Und dann, auf der OnPreInit Methode der Seite, die diese Anforderungen behandelt, muss Rewrite Pfad wieder angelegt werden, so dass Postbacks in geeigneter Weise funktioniert:

protected override void OnPreInit(EventArgs e)
{
    base.OnPreInit(e);

    if (Request.QueryString["id"] == null)
        return;
    if (Request.QueryString["id"].ToLower().Equals("games"))
        Context.RewritePath("Games", "", "id=Games");
}

Der Schlüssel, der diese Arbeit besser als eine Menge von URL-Rewriting Module stieß ich auf macht, ist, dass die Wege dynamisch sein können. Das heißt, dass die erzeugten URLs datengesteuerte sein.

Andere Tipps

Sie können ein verwenden Httphandler , wie a href gesehen <= "http://codebetter.com/blogs/jeffrey.palermo/archive/2005/08/10/130532.aspx" rel = "nofollow noreferrer"> hier .

dies ein breites Thema wird im Allgemeinen als URL-Rewriting ...

Es gibt mehrere Möglichkeiten, dies zu erreichen. Ich würde vorschlagen, in den IIS-Rewrite-Modul suchen.

Sie sollten wahrscheinlich auch die URL-Routing capabalities untersuchen, die für MVC entwickelt wurden, und sind in ASP.NET 3.51

UPDATE: Ich wünschte, ich mehr über Ihre Absichten wusste. Der letzte Satz verwirrt mich.

Ich habe dies mit UrlRewrite.Net in der Vergangenheit getan. Es gibt auch eine eingebaute Einrichtung für diese in IIS7

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