IIS7 URL-Rewriting-Modul Ersetzen
Ich mag die IIS7 URL-rewriting-Modul und so weit es funktionierte großartig für mich.
Es ist eine Sache, die ich bin mir nicht sicher, wie Sie zu tun: ich würde gerne permanent redirect aller URLs, die codierte Leerzeichen (%20) in einen URL, der hat die Leerzeichen durch einen Bindestrich (-).
Also diese:
http://www.test.com/About%20Our%20Mission.aspx
umgeleitet werden sollen diese:
http://www.test.com/About-Our-Mission.aspx
Ist, dass sogar möglich, mit nur reguläre Ausdrücke?
- Haben Sie das gelöst in dem beenden, ohne eine Reihe von Regeln? Ich habe dasselbe problem und Suche nach einer Lösung.
- Nein, es gibt keinen einfachen Weg, es zu tun. Ich ging mit der akzeptierten Antworten.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Möglichkeit, direkt tun was Sie wollen.
Könnten Sie sich so etwas wie dieses:
%20
s, die Sie wahrscheinlich jemals haben, können Sie decken alle Basen, mit einer Handvoll von leicht zu implementierenden Regeln. Dann müssen Sie nicht haben, um gehen Sie die Strecke zu schreiben, Sie eine benutzerdefinierte request-handler/ url rewriter, wasEinem dann nette Dinge über .aspx ist, wie einfach es ist, die URLs umschreiben mit echtem code. Fügen Sie einfach ein wenig suchen und ersetzen von code, um Ihre web-site ist Global.asax-Datei:
Auf IIS7, müssen Sie einige Einträge in web.config in den Griff umschreiben nicht .aspx-URLs:
Den IIS7 URL-rewriting-Modul ist toll, aber nur weil man einen hammer hat...
Das gleiche kann erreicht werden in einer Regel mit ISAPI_Rewrite 3 oder Helicon Ape für eine beliebige Anzahl %20s:
Schreiben Sie Benutzerdefinierte Umschreiben Anbieter zu tun, eine manipulation, die Sie wollen mit der original url. Aber das betrifft mehr als regulären Ausdruck nur. Mehr details hier.
Vielleicht bin ich verrückt, aber das scheint zu funktionieren...
Verwenden URL_Rewrite Regel mithilfe von Regulären Ausdrücken mit diesem Muster:
Umleitung zu
Getestet hab ich dies mit einem einzigen Raum oder viele Leerzeichen und es funktioniert gut für mich mit IIS-10. Beachten Sie, dass es funktioniert genauso gut für
%20
wie für "" in die URL-Zeichenfolge, cheers.