2010-09-15 27 views
15

Experimentar con las reescrituras de URL utilizando este módulo; sin embargo, recibo el siguiente error al intentar ingresar a la URL. Busqué respuestas en línea, pero no estoy seguro de cuál es la mejor manera de evitar esto ... alguna idea?Reescribir las reglas de salida de URL IIS7

HTTP Error 500.52 - URL Rewrite Module Error. Las reglas de reescritura de salida no se pueden aplicar cuando el contenido de la respuesta HTTP está codificada ("gzip"). **

IIS recibió la solicitud; sin embargo, se produjo un error interno durante el procesamiento de la solicitud. La causa raíz de este error depende de qué módulo maneja la solicitud y qué sucedía en el proceso de trabajo cuando se produjo este error.

IIS no ha podido acceder al archivo web.config para el sitio web o la aplicación. Esto puede ocurrir si los permisos NTFS están configurados incorrectamente.

IIS no pudo procesar la configuración para el sitio web o la aplicación.

El usuario autenticado no tiene permiso para utilizar esta DLL.

La solicitud está asignada a un manejador administrado pero la característica de Extensibilidad .NET no está instalada.

Respuesta

6

Esto es por diseño, significa que el código HTML que ya se subió la cremallera cuando se hizo disponible para el módulo de reescritura de URL, por lo que no podría volver a escribir, ya que tendría que descomprimirlo primero, y luego volver a escribir zip de nuevo y eso es demasiada potencia del procesador. Si es contenido dinámico, intente reescribirlo antes de comprimirlo.

Mover el módulo de compresión dinámica después del módulo de reescritura de URL en "Módulos" a nivel del servidor (InetMgr). Desactive "log rewritten URL" para la regla (valor predeterminado), de lo contrario, el módulo intentará ser el último en la canalización.

La compresión estática no es compatible con la reescritura de salida.

15

He intentado los comentarios de aracntido, pero parece que no funciona en IIS7. Funciona bien en servidores con IIS7.5, por lo que no estoy seguro de si hay una solución alternativa.

La solución es utilizar esto en el web.config:

<system.webServer> 
    <urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" /> 
</system.webServer> 
+2

Gracias por hacernos saber cómo configurar esto en el nivel del sitio web. Cambiar el servidor completo no era algo que quisiera hacer. –

0

Desconexión de compresión de estática (innecesario que mi situación) en IIS 7.0 fija un problema similar donde URL cargarían sino una actualización de la página producirían un error básico 500.

Agregue index.html a la URL y esto refinó el error a 'HTTP Error 500.52 - URL Rewrite Module Error. Las reglas de reescritura de salida no se pueden aplicar cuando el contenido de la respuesta HTTP está codificado ("gzip") 'error.

Gracias a aracntido por señalar esto, me ayudaste a resolver el problema.

1

Aunque la desactivación de la compresión estática y dinámica funciona bien, este método no funciona con los archivos *.axd. Estos archivos son recursos del lado del cliente, como js, ​​Ajax, etc. Más información sobre los archivos axd HERE.

Porque estos archivos se comprimen automáticamente. ¡Lee HERE más sobre por qué!

¡Así que la forma más sencilla de hacer que funcionen es enviar la solicitud con la configuración Accept-Encoding encabezado para vaciar! Esto es posible de dos maneras:

  1. [mal] cambiar su configuración de Firefox HOW?
  2. [Niza] establecer una regla de entrada para borrar Accept-Encoding en la cabecera! HOW?
Cuestiones relacionadas