Plus-Zeichen im query-string für die ASP.NET Website

Ich vor einigen Jahren erstellte ich eine Datenbank driven ASP.NET Website, die verwendet eine einzelne APSX Seite für die Anzeige der Seiten. Also alle URLs der Seite sind im folgenden format:

/main.aspx?page=Page+Title+One

/main.aspx?page=Another+Article+Title

/main.aspx?page=Third+Page

Den main.aspx-Seite wird der query-string-Daten (Seite+Titel+zum Beispiel), und verwendet Sie als einen Schlüssel zu ziehen, der entsprechende Artikel Inhalt von der SQL server-Datenbank. Der eigentliche Titel der Seite ist gespeichert in der db mit Leerzeichen anstelle der Pluspunkte (zum Beispiel "Titel Seite Eins").

Die Entscheidung zu gehen mit der " + " - Zeichen als Wort-Trennzeichen in der URL-query-string ist verursacht viele Probleme mit Suchmaschinen in letzter Zeit (duplicate content, etc.), so möchte ich, um es zu beheben, aber ohne änderung der URLs.

Was ich tun möchte, ist bei der Suchmaschinen oder Besucher besuchen will, die falsche URL fehlt das + Zeichen und mit Leerzeichen, anstatt, zum Beispiel:

/main.aspx?page=Page Title One

Will ich tun, 301 permanent redirect zu:

/main.aspx?page=Page+Title+One

In der Lage sein, dies zu tun brauche ich, um zu überprüfen, ob der query-string-Wert Plus oder Leerzeichen, aber wenn ich den Wert mit der Anforderung.QueryString["Seite"] auch wenn der tatsächliche quesry string Pluspunkte in es ich bekomme immer noch string mit Leerzeichen "- Seite-Titel Ein".

Die site läuft auf IIS6/Win 2003.

Wie kann ich dies tun?

InformationsquelleAutor John Collins | 2011-12-21
Schreibe einen Kommentar