IIS 7 URL-Rewrite-URL Übereinstimmen
Ich versuche mit einer kanonischen Standard-URL, die in IIS 7 verwenden des URL-Rewrite-Modul. Ich denke, ich bin Missverständnis, wie das "Match" URL " - Feld benutzt wird. Die folgende scheint nicht, etwas zu tun:
<rewrite>
<rules>
<rule name="EnforceDefaultPage">
<match url="^http://(?:www\.)?mydomain\.com(?:/)?(?:blog\.aspx)?$" />
<action type="Redirect" url="http://www.mydomain.com/blog" appendQueryString="false" />
</rule>
</rules>
</rewrite>
Ich habe bemerkt, in einer Menge von Beispielen, dass die Menschen Hinzugefügt haben, ein Zustand, unter Verwendung der variable HTTP_HOST... aber wie wirkt sich dies auf die match-url? Es scheint, dass ich in der Lage sein sollten, auslassen Bedingungen, weil meine reguläre Ausdruck entspricht genau dem, was ich will.
InformationsquelleAutor Vince Fedorchak | 2012-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ahh, endlich habe ich es herausgefunden. Offenbar, 'wie viel' der URL ist verfügbar für matching hängt von der Position des web.config-im Verzeichnis-Hierarchie. Da war ich platzieren Sie den code in der web.config in dem web-root, könnte es nur mit etwas nach dem domain-Namen (D. H. er kann match alles, was nach " blog.com/' in 'http://www.blog.com/').
Fand ich die Antwort hier: http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference
"Beachten Sie, dass die Eingabe der URL-string übergeben, um eine verteilte Regel ist immer relativ zum Speicherort des Web.config-Datei, wo die Regel definiert ist. Zum Beispiel, wenn eine Anforderung für http://www.mysite.com/content/default.aspx?tabid=2&subtabid=3, und eine rewrite-Regel definiert, die in /content-Verzeichnis, dann in der Regel ruft diese URL-Zeichenfolge Standard.aspx "als input".
InformationsquelleAutor Vince Fedorchak