本文介绍了410一堆IIS中的html页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I need to do a 410 Gone on a bunch of html pages for a site running on IIS. Is there a simple way to do them all at once, like an htaccess file, or do I have to do it one at a time in IIS?

推荐答案

我这样做:

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

然后我在webconfig system.webServer

And then I have in webconfig system.webServer

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

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

This means that all the pages that return 410 will be fetched to the user & search engines using /Error410.aspx page.

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

In Error410.aspx I also set Response.StatusCode = 410; otherwise the statuscode will be 200 OK.

这篇关于410一堆IIS中的html页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-22 00:52