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