web-dev-qa-db-ja.com

ルートからサブディレクトリへのIIS7 URLリダイレクト

IIS7でWindows Server 2008を使用しています。 www.mysite.comにアクセスするユーザーをwwww.mysite.com/menu_1/MainScreen.aspxにリダイレクトする必要があります。プロジェクトのファイル構造は次のとおりです。

-Sites
 -Default Web Site
  -Menu_1
  -MenuService
  -VscWebService

これに関する助けを本当に感謝します。

71
user881148

ここにあります。このコードを web.config ファイルに追加します。

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Root Hit Redirect" stopProcessing="true">
                <match url="^$" />
                <action type="Redirect" url="/menu_1/MainScreen.aspx" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

301パーマネントリダイレクトを行います(URLはブラウザーで変更されます)。このような「リダイレクト」を非表示にしたい場合(書き換え、内部リダイレクト)、次のルールを使用します(唯一の違いは、「リダイレクト」が「書き換え」に置き換えられていることです)。

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Root Hit Redirect" stopProcessing="true">
                <match url="^$" />
                <action type="Rewrite" url="/menu_1/MainScreen.aspx" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
116
LazyOne

これはIIS URL Rewriteモジュールなしで実行できると思います。 <httpRedirect>はワイルドカードをサポートしているため、次のように構成できます。

  <system.webServer>
    <httpRedirect enabled="true">
      <add wildcard="/" destination="/menu_1/MainScreen.aspx" />
    </httpRedirect>
  </system.webServer>

IISで「HTTPリダイレクト」機能を有効にする必要があることに注意してください- HTTPリダイレクト を参照してください

40
Shad

主にそのコードを入力する場所がわからなかったため、受け入れられた答えでこれを機能させることができませんでした。理にかなっているURL Rewriteツールの説明を探しましたが、見つかりませんでした。最終的に、IISでHTTPリダイレクトツールを使用しました。

  1. サイトを選択してください
  2. IISセクションで[HTTPリダイレクト]をクリックします(役割サービスがインストールされていることを確認してください)
  3. 「リクエストをこの宛先にリダイレクトする」をチェックします
  4. リダイレクトする場所を入力します。あなたの場合「wwww.mysite.com/menu_1/MainScreen.aspx」
  5. リダイレクト動作では、「リクエストをこのディレクトリ内のコンテンツにのみリダイレクトする必要があります(サブディレクトリではなく)。そうしないとループに陥ります。何が効果的かを確認してください。

お役に立てれば。

14
Jarrod

これをMicrosoftからダウンロードする必要があります。 http://www.Microsoft.com/en-us/download/details.aspx?id=7435

このツールは「Microsoft URL Rewrite Module 2.0 for IIS 7」と呼ばれ、Microsoftによると次のように説明されています。サーバーおよびHTTPクライアントに提供される前の応答コンテンツの変更用」

3
mikem