2010-09-15 16 views
15

Sperimentare con riscritture URL utilizzando questo modulo, tuttavia sto riscontrando il seguente errore quando si tenta di raggiungere l'URL. Cercavo online le risposte, ma non sono sicuro di quale sia il modo migliore per aggirare questo problema .... qualche idea ??URL Riscrivi regole in uscita IIS7

Errore HTTP 500,52 - Errore modulo di riscrittura dell'URL. Le regole di riscrittura in uscita non possono essere applicate quando il contenuto di la risposta HTTP è codificato ("gzip"). **

IIS ha ricevuto la richiesta; tuttavia, si è verificato un errore interno durante l'elaborazione della richiesta. La causa principale di questo errore dipende dal modulo che gestisce la richiesta e da cosa stava accadendo nel processo di lavoro quando si è verificato questo errore.

IIS non è stato in grado di accedere al file web.config per il sito Web o l'applicazione. Questo può verificarsi se le autorizzazioni NTFS sono impostate in modo errato.

IIS non è stato in grado di elaborare la configurazione per il sito Web o l'applicazione.

L'utente autenticato non dispone dell'autorizzazione per utilizzare questa DLL.

La richiesta è associata a un gestore gestito ma la funzionalità di estensibilità .NET non è installata.

risposta

6

Questo legato alla progettazione, significa che l'HTML è stato già compresso quando è diventato disponibile per il modulo URL Rewrite, quindi non poteva riscrivere perché avrebbe dovuto decomprimerlo prima, riscriverlo e poi zip di nuovo e questa è troppa potenza del processore. Se è contenuto dinamico, prova a riscriverlo prima di comprimerlo.

Sposta il modulo di compressione dinamica dopo il modulo di riscrittura dell'URL in "Moduli" a livello di server (InetMgr). Disattiva "log riscritto URL" per la regola (impostazione predefinita), altrimenti il ​​modulo proverà a essere l'ultimo nella pipeline.

La compressione statica non è compatibile con la riscrittura in uscita.

15

Ho provato i commenti di aracntido, ma non sembra funzionare in IIS7. Funziona bene su server con IIS7.5, quindi non sono sicuro se c'è un problema.

La correzione è di utilizzare questo nel web.config:

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

Grazie per averci comunicato come configurare questo a livello di sito web. Cambiare l'intero server non era qualcosa che mi entusiasmava. –

0

Spegnimento la compressione statica (non necessaria per la mia situazione) in IIS 7.0 fissa un problema simile in cui gli URL sarebbe caricare, ma un aggiornamento della pagina produrrebbero un errore di base 500.

Ho aggiunto index.html all'URL e questo ha corretto l'errore a 'Errore HTTP 500.52 - Errore modulo di riscrittura dell'URL. Le regole di riscrittura in uscita non possono essere applicate quando il contenuto della risposta HTTP è codificato ("gzip") "errore.

Grazie ad aracntido per averlo indicato, mi hai aiutato a risolvere il problema.

1

Sebbene la disattivazione della compressione statica e dinamica funzioni correttamente, questo metodo non funziona con i file *.axd. Questi file sono risorse lato client, come js, Ajax e così via. Maggiori informazioni su file axd HERE.

Perché questi file vengono compressi automaticamente. Leggi HERE di più sul perché!

Il modo più semplice per farli funzionare è inviare una richiesta con l'impostazione dell'intestazione Accept-Encoding vuota! Questo è possibile in due modi:

  1. [male] cambiare il tuo firefox impostazione HOW?
  2. [NIZZA] impostare una regola in entrata per cancellare Accept-Encoding nell'intestazione! HOW?
Problemi correlati