0

トラフィックをにリダイレクトするためのこのルールがありますが/public、「リダイレクトループ」エラーが発生します。助言がありますか?

<rule name="Redirect to /public" stopProcessing="true">
    <conditions logicalGrouping="MatchAll">
       <add input="{HTTP_HOST}" pattern="^test.example\.com$" ignoreCase="false" />
    </conditions>
    <action type="Redirect" url="http://test.example.com/{R:1}" />
    <match url="(.*)" ignoreCase="false" />
</rule>
4

1 に答える 1

1

次の場合にルールがトリガーされるため、ループが発生します。

  1. url="(.*)"=>常に真
  2. {HTTP_HOST}一致^test.example\.com$=>あなたの場合は常に真

リダイレクトルールは、WebサイトにアクセスするURLによってトリガーされます。
次に、ルールに再度一致するURLを使用してWebサイトにリダイレクトします...

すべてのリクエストをにリダイレクトする場合/publicは、次のルールを使用できます。

<rule name="Redirect to /public" stopProcessing="true">
    <match url="^public/(.*)" negate="true" />
    <action type="Redirect" url="public/{R:1}" />
</rule>

URLが。で始まらないかどうかをチェックしpublic/ます。その場合は、にリダイレクトされpublic/UrlRequestedます。

あなたもあなたを保つことができますconditions

<rule name="Redirect to /public" stopProcessing="true">
    <match url="^public/(.*)" negate="true" />
    <conditions logicalGrouping="MatchAll">
      <add input="{HTTP_HOST}" pattern="^test.example\.com$" ignoreCase="false" />
    </conditions>
    <action type="Redirect" url="public/{R:1}" />
</rule>
于 2013-03-26T15:23:50.703 に答える