it-swarm.com.de

Wie leite ich einen URL-Pfad in IIS um?

In IIS 6.0 gibt es eine einfache Möglichkeit, Anforderungen an einen Ordner an einen anderen Ordner umzuleiten, während der Rest des Pfads beibehalten wird.

z.B.

Wenn ich den Inhalt verschoben habe von:
mysite.org.uk/stuff
zu
stuff.mysite.org.uk/

Kann ich automatisch Anfragen für bestimmte Seiten wie umleiten
mysite.org.uk/stuff/countrybriefing/tanzania/travel.html
zu
stuff.mysite.org.uk/countrybriefing/tanzania/travel.html

Ich weiß, dass .htaccess in Apache solche Aufgaben ausführen kann. Gibt es in IIS eine Entsprechung?

37
codeulike

Entnommen aus Microsoft Technet .

Umleiten von Websites in IIS 6.0 (IIS 6.0)


Wenn ein Browser eine Seite oder ein Programm auf Ihrer Website anfordert, sucht der Webserver die durch die URL identifizierte Seite und gibt sie an den Browser zurück. Wenn Sie eine Seite auf Ihrer Website verschieben, können Sie nicht immer alle Links korrigieren, die auf die alte URL der Seite verweisen. Um sicherzustellen, dass Browser die Seite unter der neuen URL finden, können Sie den Webserver anweisen, den Browser zur neuen URL umzuleiten.

Sie können Anforderungen für Dateien in einem Verzeichnis in ein anderes Verzeichnis, auf eine andere Website oder in eine andere Datei in einem anderen Verzeichnis umleiten. Wenn der Browser die Datei unter der ursprünglichen URL anfordert, weist der Webserver den Browser an, die Seite unter Verwendung der neuen URL anzufordern.

Wichtig

Sie müssen Mitglied der Gruppe Administratoren auf dem lokalen Computer sein, um die folgenden Verfahren ausführen zu können. Melden Sie sich aus Sicherheitsgründen mit einem Konto an Ihrem Computer an, das sich nicht in der Gruppe Administratoren befindet, und führen Sie dann den Befehl runas aus, um IIS Manager als Administrator auszuführen. An einer Eingabeaufforderung Geben Sie runas/user: Administrative_AccountName "mmc% systemroot%\system32\inetsrv\iis.msc" ein.

Verfahren

Umleiten von Anforderungen an eine andere Website oder ein anderes Verzeichnis


  1. Erweitern Sie in IIS Manager den lokalen Computer, klicken Sie mit der rechten Maustaste auf die Website oder das Verzeichnis, die bzw. das Sie umleiten möchten, und klicken Sie auf Eigenschaften.

  2. Klicken Sie auf die Registerkarte Basisverzeichnis, Virtuelles Verzeichnis oder Verzeichnis.

  3. Klicken Sie unter Der Inhalt für diese Quelle sollte stammen von auf Eine Umleitung zu einer URL.

  4. Geben Sie im Feld Weiterleiten an die URL des Zielverzeichnisses oder der Website ein. Um beispielsweise alle Anforderungen für Dateien im Katalogverzeichnis in das Verzeichnis NewCatalog umzuleiten, geben Sie/NewCatalog ein.

Umleiten aller Anforderungen an eine einzelne Datei


  1. Erweitern Sie in IIS Manager den lokalen Computer, klicken Sie mit der rechten Maustaste auf die Website oder das Verzeichnis, die bzw. das Sie umleiten möchten, und klicken Sie auf Eigenschaften.

  2. Klicken Sie auf die Registerkarte Basisverzeichnis, Virtuelles Verzeichnis oder Verzeichnis.

  3. Klicken Sie unter Der Inhalt für diese Quelle sollte stammen von auf Eine Umleitung zu einer URL.

  4. Geben Sie im Feld Weiterleiten an die URL der Zieldatei ein.

  5. Aktivieren Sie das Kontrollkästchen Die genaue oben eingegebene URL, um zu verhindern, dass der Webserver den ursprünglichen Dateinamen an die Ziel-URL anfügt.

    Sie können Platzhalter und Umleitungsvariablen in der Ziel-URL verwenden, um genau zu steuern, wie die ursprüngliche URL in die Ziel-URL übersetzt wird.

    Sie können auch die Umleitungsmethode verwenden, um alle Anforderungen für Dateien in einem bestimmten Verzeichnis an ein Programm umzuleiten. Im Allgemeinen sollten Sie alle Parameter von der ursprünglichen URL an das Programm übergeben, was Sie mithilfe von Umleitungsvariablen tun können.

    Anforderungen an ein Programm umleiten


  6. Erweitern Sie in IIS Manager den lokalen Computer, klicken Sie mit der rechten Maustaste auf die Website oder das Verzeichnis, die bzw. das Sie umleiten möchten, und klicken Sie auf Eigenschaften.

  7. Klicken Sie auf die Registerkarte Basisverzeichnis, Virtuelles Verzeichnis oder Verzeichnis.

  8. Klicken Sie unter Der Inhalt für diese Quelle sollte stammen von auf Eine Umleitung zu einer URL.

    Geben Sie im Feld Umleiten an die URL des Programms ein, einschließlich aller Umleitungsvariablen, die zum Übergeben von Parametern an das Programm erforderlich sind. Um beispielsweise alle Anforderungen für Skripte in einem Skriptverzeichnis an ein Protokollierungsprogramm umzuleiten, das die angeforderte URL und alle mit der URL übergebenen Parameter aufzeichnet, geben Sie /Scripts/Logger.exe?URL=$V+PARAMS=$P ein. $ V und $ P sind Umleitungsvariablen.

  9. Aktivieren Sie das Kontrollkästchen Die genaue oben eingegebene URL, um zu verhindern, dass der Webserver den ursprünglichen Dateinamen an die Ziel-URL anfügt.

32
Dmitri Farkov

Formatieren Sie die Weiterleitungs-URL folgendermaßen:

stuff.mysite.org.uk$S$Q

Mit $S Wird angegeben, dass ein beliebiger Pfad auf die neue URL angewendet werden muss. $Q Gibt an, dass alle Parametervariablen an die neue URL übergeben werden müssen.

In IIS 7.0 müssen Sie die Option Redirect to exact destination Aktivieren. Ich glaube, es muss auch in IIS 6.0 eine solche Option geben.

35
Nirmal

Wenn Sie eine Menge Umleitungen erstellen müssen, ist es ein Albtraum, eine Menge virtueller Verzeichnisse über den Orten zu haben. Sie können versuchen, mit ISAPI eine IIS Erweiterung umzuleiten. Dann werden alle Umleitungen an einem Ort verwaltet.

http://www.isapirewrite.com/docs/

Es ermöglicht Ihnen auch, Muster basierend auf Ausdrücken für Ausrichtungsausdrücke usw. abzugleichen.

4
Jon Jones

Hier ist die Konfiguration für ISAPI_Rewrite :

RewriteBase /

RewriteCond% {HTTP_Host} ^ mysite.org.uk $ [NC]

RewriteRule ^ stuff /(.+)$ http://stuff.mysite.org.uk/$1 [NC, R = 301, L]

1
TonyCool