IIS7 правило перезаписи, которое заставляет строчные буквы для указанных страниц в домене

Я пытаюсь создать правило перезаписи IIS7, которое принудительно вводит строчные буквы для указанных страниц, чтобы можно было переопределять чувствительные к регистру входящие ссылки на мой сайт, чтобы избежать дублирования контента Google по URL-адресам, таким как /Contact и /contact. Я нашел правило, которое работает хорошо, за исключением того, что оно включает в себя все страницы в домене, а затем вы можете указать страницы для исключения.

<rule name="Lower Case Rewrite" enabled="true" stopProcessing="true">
<match url=".*[A-Z].*" ignoreCase="false" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{URL}" pattern="/ordering/shoppingcart/" negate="true" />
</conditions>
<action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" />
</rule>

Можно ли инвертировать правило так, чтобы оно не применялось к нижнему регистру, кроме тех страниц, которые я указал в правиле. Причина, по которой я хочу сделать это, заключается в том, что администратор, корзина и другие разделы сайта терпят неудачу, когда правило реализовано, а сайт слишком большой, чтобы проверять все страницы и вызовы обработчиков.

Любая помощь будет отличной!

2 ответа

<rewrite>
    <rules>
        <rule name="LowerCaseRule1" stopProcessing="true">
            <match url="[A-Z]" ignoreCase="false" />
            <action type="Redirect" url="{ToLower:{URL}}" />
        </rule>
    </rules>
</rewrite>

Как это:

<rule name="Lower Case Rewrite" enabled="true" stopProcessing="true">
  <match url=".*[A-Z].*" ignoreCase="false" />
  <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
    <add input="{URL}" pattern="/content/" />
    <add input="{URL}" pattern="/content2/" />
  </conditions>
<action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" />
</rule>

Сгруппируйте свои условия с помощью MatchAny, затем добавьте все шаблоны, к которым должно применяться правило (но не указывайте атрибут negate).

Другие вопросы по тегам