1

運用サイトで約 1 か月間、UrlRewrite IIS プラグインを使用しています。

提供されたテンプレート/ウィザードを使用して単一のリダイレクト ルールを作成しました。結果の構成エントリは次のようになります。

<rewrite>
    <rules>
        <rule name="CanonicalHostNameRule1" enabled="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www\.mycompany\.com$" negate="true" />
            </conditions>
            <action type="Redirect" url="http://www.mycompany.com/{R:1}" />
        </rule>
    </rules>
</rewrite>

サイトが「リダイレクトが多すぎます」というエラーを出し始めた今朝まで、問題なく動作していました。私の知る限り、構成やインフラストラクチャは何も変わっていません。

ルールを無効にすると、サイトは再び機能するようになりました (ただし、明らかにリダイレクトはありません)。

その後、ルールを再度有効にすると、すべてが期待どおりに実行されるようになりました。一時的に無効にする以外に、ルールに変更を加えていません。

何か案は?プラグインはバグっていますか?

4

3 に答える 3

1

これを設定することをお勧めします:

http://learn.iis.net/page.aspx/467/using-failed-request-tracing-to-trace-rewrite-rules/

これは、「ダイレクトが多すぎます」というエラーが再び発生し始めた場合に、問題を追跡するのに役立つ場合があります。

于 2010-11-08T12:59:44.113 に答える
0

この他のコードを試してください。私は自分のウェブに持っていて、完璧に実行します:

<rule name="Canonical Host Name" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^yourdomain\.com$" />
    </conditions>
        <action type="Redirect" url="http://www.yourdomain.com/{R:0}" redirectType="Permanent" />
    </rule>

説明は簡単です: 受信した任意の URL に一致して処理する 条件は、プレフィックスなしの anydomaintext.extension (ドメインと拡張子) を持つことです 完全なプレフィックスを持つ同じドメインにリダイレクトし、すべての URL を配置します。

他の試行は R:1 でしたが、メイン URL の一部を終了し、実行されませんでした。Ruslani のサンプル: http://blogs.iis.net/ruslany/archive/2009/04/08/10-url-rewriting-tips-and-tricks.aspx www を追加して使用しようとしましたが、最終的に上記のサンプルを使用しました.

于 2013-03-13T13:59:51.473 に答える