2 つの異なる Web サイト (両方ともポート 80)をホストするために使用したい1 つの IIS サーバーがあります。
私はさまざまな組み合わせ(リダイレクトを含む)を試してきましたが、毎回何かが壊れていました(リダイレクトループ、404、単に機能しないなど...)
私が必要だと思うルールは次のようになります。
- match any URL
- condition 1: match {HTTP_HOST} to my site URL
- condition 2: discard if {REQUEST_URI} is present
- action: rewrite URL to /dir1/index.html
(repeat for site 2)
ここでの問題は、条件 2 が決して真ではないことにあるようです ( の不在に一致させるには、何を使用すればよい{REQUEST_URI}
でしょうか?
完全な XML は次のとおりです。
<rewrite>
<rules>
<rule name="RuleForSite1" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mysite1\.com$" />
<add input="{REQUEST_URI}" pattern=".+" negate="true" />
</conditions>
<action type="Rewrite" url="dir1/index.html" />
</rule>
<rule name="RuleForSite2" stopProcessing="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www\.mysite2\.com$" />
<add input="{REQUEST_URI}" pattern=".+" negate="true" />
</conditions>
<action type="Rewrite" url="dir2/index.html" />
</rule>
</rules>
</rewrite>