私がしたいのは、メインアプリケーションにサブドメインを書き直し、指定したサブドメインをクエリ文字列に追加することです。たとえば、「http://a.main.com」は「http://www.main.com/default.aspx?SD=a」に書き換える必要があります。ここでIIS7 URLリライト - リダイレクトはなぜ機能し、リライトはしませんか?
は私の書き換えルールです:
<rule name="SubDomain" stopProcessing="true">
<match url="^$" />
<conditions trackAllCaptures="false">
<add input="{HTTP_HOST}" pattern="^([A-Za-z0-9]+)\.main\.com$" />
</conditions>
<action type="Rewrite" url="http://www.main.com/default.aspx?SD={C:1}" logRewrittenUrl="false" />
</rule>
私は「http://a.main.com」に私のブラウザを移動すると、私がするルールを変更したときに、私は、しかし、404を取得します代わりにルールをリダイレクトすると、正しくリダイレクトされます。リダイレクトモードに設定されているときには動作しますが、リライトモードに設定されているときには動作しません。どうしたの?
FYI myHOSTSファイルは、www.main.comとa.main.comの両方が127.0.0.1を指すように設定されています。 IIS7でのWebサイトの唯一のバインディングは、ホスト名プロパティが127.0.0.1に設定されています。