Pergunta

Basicamente, adicionei recentemente a regra abaixo no meu httpd.conf para reescrita ISAPI em um servidor do IIS para garantir que ele sempre padronize os nomes de arquivos e diretórios de baixo caso.

RewriteRule ^(.*[A-Z].*)$ $1 [CL,R=301,L]

Tudo isso é bom e dândi para todas as partes do site, exceto por um diretório que podemos chamar /MisbehavingDir, o código nesse diretório específico é preenchido com nomes de arquivos em caso misto e muitos scripts do lado do servidor e do cliente que teriam que ser reescritos para usar todo o caso inferior para funcionar corretamente (com o reescritor acima, parece atingir Alguns 301s nos lugares errados, o que faz com que parte do site funcione mal, para dizer o mínimo).

Como não estou com disposição para reescrever essa parte do site, eu adoraria encontrar uma boa maneira de modificar o regex acima, para que corresponda tudo, exceto caminhos começando com o comportamento mal e, já que meu regex-fu não é realmente bom Chega, imaginei que eu perguntaria aqui.

Existe uma solução simples "bonita" para isso que alguém quer compartilhar ou devo apenas reservar vários dias para reescrever o aplicativo, depois testá -lo e passar por toda essa dança?

Foi útil?

Solução

Bem, aparentemente o truque era adicionar uma declaração de reescrita que se parece com algo como RewriteCond %{URL} ^(?!/MisbehavingDir/.*$) Para fazer o ISAPI reescrever pular a próxima regra.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top