seo 最適化と yslow を使用して会社の Web サイトを最適化しています。しかし、yslow では ETAG は F です。私は何十もの Web サイトとチュートリアルを調べましたが、最善の選択肢は HTTP モジュールを使用することでした。私はそうしていくつかのモジュールを試しましたが、何も結果を示しません.おそらく構文の何かが間違っているか、間違って登録しています.ヒープのクラッシュのため、OnPreSendRequestHeadersの代わりにapp_PostReleaseRequestStateを使用するのが最善だと言う人もいます.私は使用しましたどちらも結果なし。ここにあります:ファイル名はetagで、app-codeフォルダーにあります
ウェブ構成:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add type="CompressionModule" name="CompressionModule"/>
<add type="ETags" name="ETags"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
</system.webServer>
そしてここにコードがあります:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for ETags
/// </summary>
public class ETags : IHttpModule
{
public void Dispose() { }
public void Init(HttpApplication app)
{
app.PostReleaseRequestState += new EventHandler(app_PostReleaseRequestState);
}
void app_PostReleaseRequestState(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("ETag");
HttpContext.Current.Response.Headers.Remove("Server");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-Powered-By");
}
//public void Init(HttpApplication context)
//{
// context.PreSendRequestHeaders += OnPreSendRequestHeaders;
//}
//void OnPreSendRequestHeaders(object sender, EventArgs e)
//{
// HttpContext.Current.Response.Headers.Remove("ETag");
// HttpContext.Current.Response.Headers.Remove("Server");
// HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
// HttpContext.Current.Response.Headers.Remove("X-Powered-By");
//}
}
回答ありがとうございます。