2012-01-16 16 views
0

我有一個與ASP.NET,Windows Server 2003,IIS6和Plesk 8.6控制面板共享的託管帳戶。使用Ionics ISAPI Rewrite Filter在IIS6中設置映像的過期日期

如何設置CSS,JS和圖像的失效日期?共享主機可能嗎?用web.config或其他文件?怎麼樣?

當前gtmetrix.com表示某些文件的失效日期未設置。

編輯:有一個IIS7幾乎相同的問題。 this question中的方法也適用於IIS6嗎?

編輯2:我的託管服務提供商使用ionic's isapi rewrite filter進行通配符映射。

+0

IIS 6缺少這些配置設置。這些是IIS 7的功能。 –

+0

@ Splash-X那麼,我應該怎麼做? –

+0

請參閱我的回答下面的一些選項 –

回答

1

離子學的ISAPI幫助文檔可以在這裏找到:

http://iirf.codeplex.com/documentation

根據過濾器的版本有不同的文件。過濾器有一個名爲RewriteHeader的函數,它可以讓你設置標題。

你需要創建解析爲.js文件,名爲.css,.JPG,.JPEG,.PNG,.GIF等的URL,然後RewriteHeader一個新的到期頭一個RewriteCondition ..

您可以查看以下頁面以獲取有關如何設置過期標頭的更多信息,主要參見14.9.3和14.21。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

至於如何計算在標題中設置的值,你可能要張貼在CodePlex上的網站項目的討論部分:

http://iirf.codeplex.com/discussions

1

這個答案是對原來的問題:「如何來設置IIS 6 expires頭」,題目改爲發佈的答案和一些討論之後是有關如何使用離子學ISAPI重寫模塊

想到以下三件事:

1.)基於這篇文章,您可以進入IIS並啓用內容過期或爲從特定文件夾請求的文件(例如/ images /或/ css/

https://stackoverflow.com/a/1271082/768804

http://blogs.microsoft.co.il/blogs/yevgenif/archive/2009/02/11/web-performance-expiration-data-iis-6-0.aspx

2)通過在你的站點上的文件使用腳本來循環並添加一個接一個的基礎上頭來IIS:

https://stackoverflow.com/a/288652/768804

3.)創建一個自定義的HTTP處理程序,將爲您做,但這樣做很髒,應該避免。這將需要IIS來處理靜態文件請求,這會降低性能並增加響應時間和CPU /內存負載。

+0

我沒有訪問IIS,因爲我的託管計劃是共享託管。沒有辦法用Web.config或plesk做到這一點嗎? –

+0

IIS 6沒有任何配置設置可讓您執行此操作。您可以嘗試與您的託管服務提供商提供支持服務,以查看他們是否可以爲您進行更改。即使製作HTTP Handeler,也需要您的主機提供商進行一些更改。 IIS6不使用ASP.NET來處理靜態文件,因此您需要託管提供商啓用通配符映射才能使HTTP Handeler正常工作。你可以看到這個線程看到我上面描述的問題:http://stackoverflow.com/questions/1927770/setting-far-future-expires-header-in-code-asp-net –

+0

故事的寓意要麼升級到IIS7,要麼打開一個支持票來啓用expires頭文件或添加一個通配符映射文件,以便使用IHTTPHandeler –

相關問題