Pregunta

Básicamente he añadido recientemente el siguiente regla en mi httpd.conf para la reescritura de ISAPI en un servidor IIS para asegurarse de que tenga por defecto a minúsculas de archivos y directorios nombres.

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

Esto es todo lo fino y elegante para cada parte del sitio a excepción de un directorio que podemos llamar /MisbehavingDir, el código en este directorio en particular está llena de nombres de archivo de mayúsculas y minúsculas y un montón de secuencias de comandos del servidor y del lado del cliente que lo haría tienen que ser reescrito para usar todo en minúsculas con el fin de funcionar correctamente (con la RewriteRule por encima de ella parece golpear un par de 301s en los lugares equivocados lo que hace que parte de la página de Internet funcione mal por decir lo menos).

Como yo no estoy de humor para reescribir esa parte del sitio Me encantaría encontrar una buena manera de modificar la expresión regular anterior para que coincida con todo, excepto rutas que empiezan con MisbehavingDir y ya que mi expresión regular-fu ISN' realmente no lo suficientemente bueno que pensé que pediría aquí.

¿Hay una solución simple "hermosa" a esto que alguien quiere compartir o debería simplemente dejar de lado varios días para volver a escribir la aplicación, a continuación, probarlo y pasar por todo ese baile?

¿Fue útil?

Solución

Bueno, al parecer, el truco consistía en añadir una declaración RewriteCond que se ve algo como RewriteCond %{URL} ^(?!/MisbehavingDir/.*$) para hacer reescritura de ISAPI omitir la siguiente regla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top