我有一個網站,它使用ASP.NET並託管在IIS 7.5共享託管,所以我沒有直接訪問IIS設置。現在我想使用IIS功能啓用我的頁面和css/js文件的gzip壓縮,但是在互聯網上找到的食譜都不適合我。例如,當我在我的Web.config中添加寫入here的內容時,沒有任何更改:沒有錯誤,沒有壓縮。在共享主機上的IIS 7.5 gzip壓縮
這可能嗎?如果不是,最好的選擇是什麼?
我有一個網站,它使用ASP.NET並託管在IIS 7.5共享託管,所以我沒有直接訪問IIS設置。現在我想使用IIS功能啓用我的頁面和css/js文件的gzip壓縮,但是在互聯網上找到的食譜都不適合我。例如,當我在我的Web.config中添加寫入here的內容時,沒有任何更改:沒有錯誤,沒有壓縮。在共享主機上的IIS 7.5 gzip壓縮
這可能嗎?如果不是,最好的選擇是什麼?
嘗試配置樣品在這篇文章的底部:
http://www.iis.net/ConfigReference/system.webServer/urlCompression
<configuration>
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="false" />
</system.webServer>
</configuration>
在這種question它說:
「是的,你可以啓用壓縮與web.config中,正如下面的文章所示 - 但它可以取決於服務器允許網站的權限。「
看看這可以幫助你:
IIS 7.5 ASP.NET-4 Gzip compression
或者這樣:
它也行不通,據我瞭解,服務器不給我這樣的權限?我感到困惑的是它沒有顯示任何錯誤。 – aplavin
那麼,我想可能是服務器設置爲不允許gzip壓縮來節省CPU /內存資源。您應該檢查您的服務器提供商是否在服務器上禁用了服務器,以及是否無法啓用它。 –
我遇到同樣的問題,所以所使用的.NET的壓縮使用調用Global.asax的along-使用.aspx擴展名重命名靜態CSS,並使用通過Web.config重寫URL。在.css.aspx之上我簡單地添加了
<%@ Page ContentType="text/css" %>
在web.config中的配置system.webserver的重寫規則:
<rule name="san aspx">
<match url=".*[^/]$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="{R:0}.aspx" />
</rule>
<rule name="revert aspx">
<match url="(.*)\.aspx$"/>
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}" />
</rule>
在Application_PreRequestHandlerExecute Global.asax中的
HttpApplication app = sender as HttpApplication;
string acceptEncoding = app.Request.Headers["Accept-Encoding"];
Stream prevUncompressedStream = app.Response.Filter;
if (acceptEncoding != null && acceptEncoding.Length > 0) {
acceptEncoding = acceptEncoding.ToLower();
if (acceptEncoding.Contains("gzip")){
app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
}
Response.Cache.VaryByHeaders["Accept-Encoding"] = true;
看起來嚇人,但與建立正確的認識做,它就像魅力一樣工作,值得與PageSpeed相關的搜索引擎優化以及共享主機上的節省。我曾嘗試與我的託管服務提供商的支持,但他們只是銷售更多異國情調的託管軟件包。對於像名.svgz文件強制壓縮內容,我用單獨的文件夾和httpProtocol該文件夾的web.config的system.webserver的我寫道:
<customHeaders>
<add name="Content-Encoding" value="gzip" />
</customHeaders>
我知道這是超級老了,但我發現這個鏈接實際上爲我工作。我有arvixe託管,他們也不允許壓縮。我想在web.config中的一切,沒有工作,但在全球工作
http://forums.asp.net/t/1599397.aspx?Best+Way+to+Enable+HTTP+Compression
所以你看不到內容編碼web.config中作出這些修改後:gzip的在檢查? –
是的,這就是我的意思是我的寫作「不壓縮」=) – aplavin