Ich habe versucht, mit URL-Re-Writing mit dem Rewrite Module 2.0 zu spielen, aber ich hatte kein Glück, es zum Laufen zu bringen. Ich versuche, alle Aufrufe der Webanwendung an Port 80 in andere Anwendungen umzuwandeln, die in IIS gehostet werden (oder vielleicht auf verschiedenen Servern im Netzwerk). Unter Verwendung der von IIS bereitgestellten GUI habe ich die folgende Regel erstellt:
%Vor% Ruhig einfach, aber leider funktioniert es nicht. Auf der anderen Seite, wenn ich den Aktionstyp in Redirect
ändere, funktioniert es gut.
Was könnte das Problem sein?
Ich bin gestern auf dasselbe Problem gestoßen und es hat lange gedauert, bis ich herausgefunden habe.
Der Schlüssel hier ist, dass Sie ein http://
Präfix in Ihrer Umschreibeaktion haben; Dies macht dies zu einem speziellen Fall, der durch das Routing von Anwendungsanfragen behandelt werden muss. Der erste Schritt besteht darin, sicherzustellen, dass das Application Request Routing-Modul installiert ist. Sie finden das Modul unter Ссылка . Sobald das installiert ist, gehen Sie zu Ihrem IIS-Webserver (eine Ebene höher von Ihrer Website), und öffnen Sie die Funktion "Anwendungsanforderungs-Routing-Cache". Wählen Sie aus den Aktionen auf der rechten Seite Server.Proxy.Settings
und stellen Sie sicher, dass das Kontrollkästchen "Proxy aktivieren" aktiviert ist. Dadurch kann die Aufgabe zum erneuten Schreiben von URLs an das Routing für Anwendungsanforderungen umgeleitet werden, und Ihr Reverse-Proxy sollte für externe Anforderungen funktionieren.
Die Idee kam von diesem ausgezeichneten Blogbeitrag von 2009: Ссылка
Ich bin über diesen alten Beitrag gestolpert, als ich versuchte, das gleiche Problem zu lösen.
Gelöst!
Mit der Funktion "URL neu schreiben" im IIS-Services-Manager habe ich eine benutzerfreundliche URL-Regel erstellt.
Das hat gut funktioniert und als ich mir die Regel in der Datei web.config (www root) anschaute, wurde eine Regel zum Umleiten und eine Regel zum Umschreiben angezeigt.
Ich habe das für 1 Match bearbeitet. Dann habe ich diesen Code einfach dupliziert und die Produkt-ID für jeden Artikel bearbeitet. Beispiel unten:
%Vor% Die erste Regel sucht nach der Zeichenfolge "product.php"
in der URL und "id_product=35"
und leitet dann zu "990mm-bohemia-cast-iron-electric-radiator"
um, die derzeit nicht existiert. Dann (siehe unten)
Diese Regel schreibt das "product.php?id_product=35"
-Bit in '990mm-böhmen-Gusseisen-Elektroheizkörper "um und erstellt den neuen Ort für die Umleitung.
Ändern Sie die Rewrite-URL in AbsolutePath anstatt http: // ... es sollte
seinEs hat für mich funktioniert, aber in meinem Fall habe ich eine feste Webseite neu geschrieben.
Tags und Links .net asp.net iis url-rewriting url-rewrite-module