IIS7.5でWebアプリケーションのエイリアスを作成する必要があります。
たとえば、http: //server.com/MyHappyAppに「MyHappyApp」というアプリケーションがあるとします。
そのアプリにリダイレクトするエイリアスを作成したいのですが、次のようになります。
IIS 7.5でこの動作を実現するためのベストプラクティスは何ですか?IISマネージャーでこれを構成できる場所とweb.config
、可能であれば説明してください。
IIS7.5でWebアプリケーションのエイリアスを作成する必要があります。
たとえば、http: //server.com/MyHappyAppに「MyHappyApp」というアプリケーションがあるとします。
そのアプリにリダイレクトするエイリアスを作成したいのですが、次のようになります。
IIS 7.5でこの動作を実現するためのベストプラクティスは何ですか?IISマネージャーでこれを構成できる場所とweb.config
、可能であれば説明してください。
Rewriteモジュールを使用する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="MyHappyApp2_To_HappyAppPart3" stopProcessing="true">
<match url="MyHappyApp2" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{URL}" pattern="^/$" ignoreCase="true" />
</conditions>
<action type="Rewrite" url="/HappyAppPart3" />
</rule>
</rules>
</rewrite>
<security>
<requestFiltering allowDoubleEscaping="true" />
</security>
</system.webServer>
</configuration>
URL 書き換えモジュールをインストールする必要があります。IIS マネージャーを介してルールを構成するか、手動で web.config に追加することができます。
1 つのルールですべてを行うことは可能ですが、リダイレクトするエイリアスごとに 1 つずつ、2 つの別個のルールを作成する方がおそらく簡単です。
これはうまくいくはずです:
<rewrite>
<rules>
<clear />
<rule name="Redirect MyHappyApp2 to MyHappyApp" stopProcessing="true">
<match url="^MyHappyApp2(/.*)?$" />
<action type="Redirect" url="http://server.com/MyHappyApp{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Redirect HappyAppPart3 to MyHappyApp" stopProcessing="true">
<match url="^HappyAppPart3(/.*)?$" />
<action type="Redirect" url="http://server.com/MyHappyApp{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
上記のルールは、http://server.com/HappyAppPart3/somepage?id=1
(ほんの一例です) に行く人もサポートします。にリダイレクトされhttp://server.com/MyHappyApp/somepage?id=1
ます。