Могу ли я указать в правиле перенаправления IIS7 URL-адрес правило перенаправления, которое не применяется к запросам http-post? - PullRequest
14 голосов
/ 13 мая 2011

В модуле перезаписи URL IIS7 можно ли указать в правиле перенаправления, что он не применяется к запросам http-post? Я использую шаблоны, предоставленные Microsoft, для строчных букв всех URL-адресов и добавления косой черты. Однако у меня есть запросы к AJAX-сообщениям, которые не соответствуют этой спецификации, но они ломаются, мы переписываемся как 301-е. Я не беспокоюсь о запросах POST для SEO, поэтому я бы предпочел, чтобы я мог просто указать в правиле игнорировать его. Ниже приведены мои правила:

            <rule name="AddTrailingSlashRule" stopProcessing="true">
                <match url="(.*[^/])$" />
                <conditions>
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                </conditions>
                <action type="Redirect" url="{R:1}/" />
            </rule>
            <rule name="LowerCaseRule" stopProcessing="true">
                <match url="[A-Z]" ignoreCase="false" />
                <action type="Redirect" url="{ToLower:{URL}}" />
            </rule>

1 Ответ

29 голосов
/ 13 мая 2011

У вас есть доступ к этому в переменной {REQUEST_METHOD} при следующих условиях.

<add input="{REQUEST_METHOD}" matchType="Pattern" pattern="POST" ignoreCase="true" negate="true" />
...