web-dev-qa-db-ja.com

IISと書き換えモジュールを使用して%26などの特殊文字がある場合、許可(およびURLを修正)

URLで%26などの特殊文字を使用する従来のアプリで苦労しています。文字はアプリに影響を与えませんが、変更することはできません。そのため、IISを取得して対処しようとしています。

私はそれらを無視しようとしました 複数のメソッドを使用 ですが、何も動作しないようです。

そこで、IIS書き換えモジュールをインストールし、書き換えルールをweb.configに追加して、文字%26を置き換えました_で、たとえば:

<rewrite>
    <rules>
        <rule name="ampersand" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*%26*" />
            <action type="Redirect" url="{R:1}_{R:2}" />
        </rule>
    </rules>
</rewrite>

問題は、書き換えルールが呼び出される前にIISが「Bad Request」で応答することです。だから私の質問は次のとおりです:IISがそのURLを禁止する前にmod書き換えフィルターが呼び出されるように優先順位を変更するにはどうすればよいですか?

1
plumtreematt

ルールを次のように変更してみてください:

<match url="(.*)%26(.*)" />
1
user38299