410一堆IIS中的html页面

时间:2012-10-08 17:57:02

标签: html iis http-status-code-410

我需要在一堆html页面上为IIS上运行的网站做一个410 Gone。是否有一种简单的方法可以同时执行所有操作,例如htaccess文件,或者我是否必须在IIS中一次执行一次?

1 个答案:

答案 0 :(得分:2)

我是这样做的:

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    if( listOf410urls.Contains(Request.RawUrl) )
    {
         Response.StatusCode = 410; Response.End();
    }
}

然后我在webconfig system.webServer

<httpErrors errorMode="Custom" defaultResponseMode="ExecuteURL">
    <remove statusCode="410" subStatusCode="-1" />
    <error statusCode="410" path="/Error410.aspx" responseMode="ExecuteURL" />
</httpErrors>

这意味着返回410的所有页面都将被提取给用户&amp;搜索引擎使用/Error410.aspx页。

在Error410.aspx中我也设置了Response.StatusCode = 410;,否则状态码将为200 OK。