Beim Durchsuchen der Statistiken für meine Website erkannte ich, dass der Großteil des Traffics über Links von Drittanbietern zu klassischen ASP-Seiten kommt, die seit ein paar Jahren nicht existieren jetzt.Verwenden von Intelligcia UrlRewriter regex ASP-Seiten auf einer Holding-Seite
Ich entschied, dass eine Reihe von urlMappings auf die web.config Zugabe war keine gute Idee, so fügte ich Intelligencia UrlRewrite und versucht, eine Regel hinzuzufügen, wie folgt:
<rewriter>
<redirect url="^/(.*).asp$" to="~/pagenotfound.aspx?page=$1" />
</rewriter>
Die Regel funktioniert, aber es nimmt jede URL auf, die mit .asp = wie /pagenotfound.aspx?page=someurl.asp endet.
Hoppla :)
ich über reguläre Ausdrücke nicht genau kenntnisreich bin, wie kann ich es bekommen „.asp“ zu ignorieren, die das Fragezeichen folgt?
Dav, Danke für die Antwort. Während dies funktioniert, bedeutet es, dass es keine ASP-Seiten mehr mit einem Abfrage-String aufnimmt, der meinen Zweck besiegt - ich muss eine legitimierte ASP-URL und Redirect erkennen, während ich ASP, das gerade in einer Anfrage ist, nicht aufzeichne Zeichenfolge. Thanksl –
Heya Richard - Sie sollten in der Lage sein, die URL-Regex zu erweitern, um das Potenzial für eine Abfragezeichenfolge nach der Erweiterung .asp hinzuzufügen - Ich habe mein Beispiel oben für etwas bearbeitet, das ich glaube * funktioniert (nicht 100%) sicher, wenn ich die Syntax darauf genagelt habe). – Amber
Ich habe auch den umgekehrten Schrägstrich hinzugefügt, der vor dieser ersten Periode sein sollte (für .asp) - andernfalls wird es als reguläre Regex-Periode interpretiert, die mit einem beliebigen Zeichen (anstelle einer literalen Periode) übereinstimmt, was dazu führen würde unsachgemäß passend etwas wie /test.asp?asp – Amber