IIS7.5への着信リクエストでURLのケースを正規化する方法を知っています。実際、開始するための組み込みのルールテンプレートがあります。しかし、(コードを変更せずに)アウトバウンドはどうですか?
これは私がこれまでに到達したところです:
<outboundRules>
<rule name="Outbound lowercase" preCondition="IsHTML" enabled="true">
<match filterByTags="A" pattern="[A-Z]" ignoreCase="false" />
<action type="Rewrite" value="{ToLower:{R:0}}" />
</rule>
<preConditions>
<preCondition name="IsHTML">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" />
</preCondition>
</preConditions>
</outboundRules>
ただし、IIS 500のアクションのbarfsは、無効なweb.configを意味します。おそらく、MS提供のインバウンドルールテンプレートから盗んだ{ToLower:XXXX}にあります。
誰もがこれを行う方法を知っていますか?
オプションが完全に文書化されている場所は誰でも知っています(私のGoogleNinjaスキルは失敗しました: this を見つけましたが、「ルールの値の構文を指定します。この要素は書き換えアクションタイプでのみ使用可能です」は実際には包括的ではありません) 。
ありがとう、ダミアン
このルールはエラーなしで機能します。行うべき唯一の変更は、パターンです。 「[A-Z]」から「。* [A-Z]。*」に変更して、置き換えられる値が最初の大文字だけでなく文字列全体になるようにします。
構文エラーが発生する方法については、セクション内にアウトバウンドルールがラップされていますか?また、url rewrite2.0がインストールされていることを確認してください。アウトバウンドルールはv2.0で追加されました。