2010-09-15 6 views
15

Expérimentation des réécritures d'URL à l'aide de ce module, mais l'erreur suivante s'affiche lorsque j'essaie de toucher l'URL. Regardé en ligne pour des réponses, mais je ne sais pas quelle est la meilleure façon de contourner cela est .... des idées ??Règles de réécriture des URL sortantes IIS7

Erreur HTTP 500.52 - Erreur de réécriture d'URL. Les règles de réécriture sortante ne peuvent pas être appliquées lorsque le contenu de la réponse HTTP est codé ("gzip"). **

IIS a reçu la demande; cependant, une erreur interne s'est produite pendant le traitement de la demande. La cause première de cette erreur dépend du module qui gère la demande et de ce qui se passait dans le processus de travail lorsque cette erreur s'est produite. IIS n'a pas pu accéder au fichier web.config du site Web ou de l'application. Cela peut se produire si les autorisations NTFS sont définies incorrectement. IIS n'a pas pu traiter la configuration du site Web ou de l'application.

L'utilisateur authentifié n'a pas l'autorisation d'utiliser cette DLL.

La demande est mappée à un gestionnaire géré mais la fonctionnalité d'extensibilité .NET n'est pas installée.

Répondre

6

C'est par sa conception, cela signifie que le code HTML était déjà compressé quand il est devenu disponible pour le module de réécriture d'URL, de sorte qu'il ne pouvait pas le réécrire, car il aurait à décompresser d'abord, réécrire et zip encore une fois et c'est trop de puissance du processeur. S'il s'agit d'un contenu dynamique, essayez de le réécrire avant de le compresser.

Déplacer le module de compression dynamique après le module de réécriture d'URL dans "Modules" au niveau du serveur (InetMgr). Désactivez "URL réécrite" pour la règle (par défaut), sinon le module essayera d'être le dernier dans le pipeline.

La compression statique n'est pas compatible avec la réécriture sortante.

15

J'ai essayé les commentaires d'aracntido, mais cela ne semble pas fonctionner dans IIS7. Cela fonctionne bien sur les serveurs avec IIS7.5, donc je ne suis pas sûr s'il y a un travail autour.

La solution est d'utiliser dans le web.config:

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

Merci de nous avoir indiqué comment configurer cela au niveau du site Web. Changer tout le serveur n'était pas quelque chose que j'étais excité de faire. –

0

Arrêt de compression statique (inutile pour ma situation) dans IIS 7.0 fixe un problème similaire où les URL chargeraient mais une actualisation de la page produiraient une erreur de base 500.

J'ai ajouté index.html à l'URL et cela a affiné l'erreur à 'Erreur HTTP 500.52 - Erreur de réécriture d'URL. Les règles de réécriture sortante ne peuvent pas être appliquées lorsque le contenu de la réponse HTTP est codé (erreur "gzip"). Merci à aracntido pour l'avoir signalé, vous m'avez aidé à résoudre le problème.

1

Bien que la désactivation de la compression statique et dynamique fonctionne bien, cette méthode ne fonctionne pas avec les fichiers *.axd. Ces fichiers sont des ressources côté client, comme js, Ajax et ainsi de suite. En savoir plus sur les fichiers axd HERE. Parce que ces fichiers sont compressés automatiquement.

Lire HERE plus sur pourquoi!

Il est donc plus facile de les faire fonctionner en envoyant la demande avec le réglage Accept-Encoding en-tête pour vider! Ceci est possible de deux manières:

  1. [BAD] changer vos réglages Firefox HOW?
  2. [Nice] définir une règle entrante pour effacer Accept-Encoding en-tête! HOW?
Questions connexes