2010-09-15 64 views
15

嘗試使用此模塊重寫URL,但是在嘗試點擊URL時出現以下錯誤。在網上尋找答案,但不知道什麼是解決這個問題的最佳方法是......任何想法?URL重寫出站規則IIS7

HTTP錯誤500.52 - URL重寫模塊錯誤。 當HTTP響應編碼(「gzip」)的內容爲 時,不能應用出站重寫規則。**

IIS收到請求;但是,在處理請求期間發生內部錯誤。此錯誤的根本原因取決於哪個模塊處理請求以及發生此錯誤時工作進程中發生了什麼。

IIS無法訪問網站或應用程序的web.config文件。如果NTFS權限設置不正確,可能會發生這種情況。

IIS無法處理網站或應用程序的配置。

經過身份驗證的用戶無權使用此DLL。

該請求被映射到託管處理程序,但未安裝.NET可擴展性功能。

回答

6

這是有意設計的,這意味着HTML在URL Rewrite模塊變得可用時已經被壓縮了,所以它不能重寫它,因爲它必須先解壓縮它,然後重寫它,然後zip它又是這樣,並且這是太多的處理器能力。如果它是動態內容,請在壓縮之前嘗試重寫它。

在服務器級別(InetMgr)的「模塊」中的URL重寫模塊之後移動動態壓縮模塊。爲規則(默認)禁用「日誌重寫的URL」,否則模塊將嘗試成爲管道中的最後一個。

靜態壓縮與出站重寫不兼容。

15

我試過aracntido的評論,但它似乎並沒有在IIS7中工作。它在IIS7.5的服務器上工作正常,所以我不確定是否有解決辦法。

解決方法是在web.config中使用此:

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

感謝您讓我們知道如何在網站級別配置此功能。改變整個服務器並不是我興奮的事情。 – 2014-03-26 18:30:15

0

關掉靜態壓縮(不需要我的情況)在IIS 7.0中固定的類似問題,其中的URL會加載,但頁面刷新會產生基本錯誤500.

我在URL中添加了index.html,並將此錯誤細化爲'HTTP錯誤500.52 - URL重寫模塊錯誤。當HTTP響應的內容編碼(「gzip」)錯誤時,不能應用出站重寫規則。

感謝aracntido指出這一點,你幫我指出了這個問題。

1

儘管禁用靜態和動態壓縮很好地工作,但此方法不適用於*.axd文件。這些文件是客戶端資源,如js,Ajax等。 閱讀更多關於axd文件HERE

因爲這些文件被自動壓縮。閱讀HERE更多關於爲什麼!

讓他們工作的更簡單的方法是將設置Accept-Encoding標題的請求發送到空!這是可能有兩種方式:

  1. [BAD]改變你的Firefox設置HOW?
  2. [NICE]設置的入站規則明確Accept-Encoding的頭! HOW?