SOでこの質問をするのはこれが初めてではないことを願っています。
Web サイトに URL があり、query string
値を使用しています。例: http://foo.com/xyzPage.aspx?barvalue=yehaa
に
サーバー上に実際にサブドメインを作成せずにそれを達成する方法を提案してください..
IIS 7.5をサーバー マシンにインストールし、Asp.net 4.0を使用しています。
どうもありがとう
SOでこの質問をするのはこれが初めてではないことを願っています。
Web サイトに URL があり、query string
値を使用しています。例: http://foo.com/xyzPage.aspx?barvalue=yehaa
に
サーバー上に実際にサブドメインを作成せずにそれを達成する方法を提案してください..
IIS 7.5をサーバー マシンにインストールし、Asp.net 4.0を使用しています。
どうもありがとう
コメントに従って編集します。
http://foo.com/xyzPage.aspx?barvalue=yehaa
を使用してアクセスするhttp://yehaa.foo.com/
には、次のルールを使用する必要があります。
<rules>
<rule name="Rewrite subdomains">
<match url="^/?$" />
<conditions>
<add input="{HTTP_HOST}" pattern="^(.+)\.foo\.com$" />
</conditions>
<action type="Rewrite" url="http://foo.com?barvalue={C:1}" />
</rule>
</rules>
a で終わるかどうかに関係なく、すべての URL と一致し、/
前に何かを使用してから、前に入力された値が何であれfoo.com
、それをhttp://foo.com?barvalue={C:1}
where is に書き換えます。{C:1}
foo.com
に直接アクセスできないようにしたい場合はhttp://foo.com?barvalue={C:1}
、以下のルールを使用できます。
ファイルに次のルールを追加することで、IIS の書き換えモジュールを使用できます。web.config
<rewrite>
<rules>
<rule name="Redirect to Subdomains" stopProcessing="true">
<match url="^xyzPage.aspx$" />
<conditions>
<add input="{QUERY_STRING}" pattern="^barvalue=(.+)$" />
</conditions>
<action type="Redirect" url="http://{C:1}.{HTTP_HOST}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
URL が正確に一致するかどうかをチェックしますxyzPage.aspx
(前後に何もありません)。
クエリ文字列にbarvalue
パラメーター (およびこのパラメーターのみ) が含まれているかどうか、およびその値が空でないかどうかを確認します。
これらの 2 つの条件が OK の場合、 to がトリガーRedirect
されhttp://barvalue.original.host
ます。
あなたの質問は を指定Rewrite
しているので、これが本当にやりたいことなら、アクションtype="Redirect"
をに変更してくださいtype="Rewrite"
。
重要:アプリケーション リクエスト ルーティング モジュールRewrite
をインストールし、別のドメインに対してプロキシ モードを有効にしてセットアップする必要がある場合があります。