3

URL の書き換え (リダイレクト) を行ったことはありません。私はウェブサイトhttp://sub.sub.domain.ext/app/を持っています。「app」は、仮想ディレクトリではなく「アプリケーション」を意味します。ユーザーがhttp://sub.sub.domain.ext/app (スラッシュなし) に移動すると、末尾にスラッシュがある URL にリダイレクトするために IIS 7 が必要です。

問題は、ユーザーがアプリケーションに移動したときにのみルールを適用することです。すべてのファイル名に末尾のスラッシュを追加したくありません。

IIS7 マネージャーで定義済みのルールを変更しようとしましたが、成功しませんでした。URL 全体の正確な一致、条件の制約、または単純に元の定義済みルールの使用を試みました。ただし、元のルールを使用する場合でも、後続のすべての要求ファイル/ディレクトリ/URL を書き換えますが、ユーザーをhttp://sub.sub.domain.ext/appからhttp ://sub.sub.domain にリダイレクトしません。 .ext/アプリ/ .

4

1 に答える 1

3

あなたが探しているルールは、次のように単純かもしれません。

<rule name="Add trailing slash" stopProcessing="true">
    <match url="^app$" negate="false" />
    <action type="Redirect" url="{R:0}/" />
</rule>

url="^app$"パターンは URL のみに一致し、それ以外には一致http://www.yourwebsite.com/appしません。
この動作をホストに制限する必要がある場合はsub.sub.domain.ext、条件を追加できます。

<rule name="test" stopProcessing="true">
    <match url="^app$" negate="false" />
    <action type="Redirect" url="{R:0}/" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^sub.sub.domain.ext$" />
    </conditions>
</rule>
于 2013-02-14T15:41:18.900 に答える