2010-11-29 7 views
0

Ich verwende ASP.NET 3.5 mit IIS 7 mit dem URL Rewrite Module 2.0 installiert.Erstellen von Url Rewrite in eine Domäne - ASP.NET IIS 7

Wenn ich erstelle die erste Test Rewrite-Regel:

<rewrite> 
     <rules> 
      <rule name="Test rule1" patternSyntax="ExactMatch"> 
       <match url="w/123/test" /> 
       <action type="Rewrite" url="article.aspx?id=123" /> 
      </rule>   
     </rules> 
    </rewrite> 

Es funktioniert perfekt (http://www.myapp.com/w/123/test ->http://www.myapp.com/article.aspx?id=123).

ABER, wenn ich versuche, es auf einer Domäne zu verwenden, die ich besitze, funktioniert es nicht. Ich nehme an, dass etwas in meiner Syntax falsch ist. Hier ist, was ich versuche zu tun:

  <rule name="Test Rule2" patternSyntax="ExactMatch"> 
       <match url="http://www.my-domain.com" /> 
       <action type="Rewrite" url="article.aspx?id=123" /> 
      </rule> 

Wenn ich versuche, http://www.my-domain.com zu browsen ich auf die article.aspx Seite umgeleitet werden erwarten, die ich nicht, bekomme ich nur 404 Seite nicht gefunden.

Wie sollte ich eine Regel für eine Domäne und nicht für einen Pfad schreiben?

Vielen Dank im Voraus, Gal.

+0

Versuchen Sie: 'url =" my-domain.com "' –

+0

Nein, immer noch 404. Danke für den Kommentar. –

Antwort

1

Die Regeln beziehen sich auf den Ort, an dem sich die Datei web.config befindet. Sie müssen keine Domäne für Ihre Regel angeben. Die Eingabe für Ihr /> wird immer der URL Pfad ohne die Abfragezeichenfolge und ohne führenden Schrägstrich sein. Das heißt, wenn Sie "http://www.my-domain.com/" anfordern, wird die Eingabe "" sein. Wenn Sie "http://www.my-domain.com/w/123/test" anfordern, lautet die Eingabe "w/123/test".

Wenn Sie einfach zu http://www.my-domain.com/ durchsuchen "das" Standarddokument "-Modul in IIS wird versuchen, Ihre Anfrage in etwas wie http://www.my-domain.com/default.html umschreiben" und das wird nicht Ihre Regel entsprechen. Stellen Sie sicher, dass das Standarddokumentmodul deaktiviert ist.

Wenn das nicht funktioniert, hat URL Rewrite eine Tracing-Funktion in dem Sie den Workflow-Schritt-für-Schritt sehen:

http://learn.iis.net/page.aspx/467/using-failed-request-tracing-to-trace-rewrite-rules/

N. B. Bei Serverregeln enthält die Eingabe-URL immer einen führenden Schrägstrich.