IIS7.5 Regra de saída para URLs de minúsculas em um href = “…”

2

Eu sei como canonizar o caso de URLs na solicitação de entrada para o IIS7.5, na verdade, há um modelo de regra interno para começar. Mas e quanto a saída (sem alterar o código)?

Aqui é onde cheguei até agora:

    <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>

No entanto, o IIS barfs na ação com um 500 implicando um web.config inválido, provavelmente no {ToLower: XXXX} que eu roubei do modelo de regra de entrada fornecido pelo MS.

Alguém sabe como fazer isso?

Alguém sabe onde as opções estão totalmente documentadas (minhas habilidades no GoogleNinja me falharam: encontrei this but "Especifica a sintaxe de valor para a regra. Este elemento está disponível apenas para o tipo de ação Rewrite" não é realmente abrangente).

Obrigado Damião

    
por Quog 03.02.2011 / 12:07

1 resposta

0

Esta regra funciona para mim sem erros. A única mudança a ser feita é com o padrão. Altere de "[A-Z]" para ". * [A-Z]. *" Para que o valor substituído seja a sequência inteira e não apenas a primeira letra maiúscula.

Quanto à maneira de obter o erro de sintaxe, você tem a regra de saída envolvida na seção? E verifique se você tem o URL reescrito 2.0 instalado. Regras de saída foram adicionadas na v2.0.

    
por 07.02.2011 / 16:10