在我的 MVC3 应用程序中,我在控制器基类的OnActionExecuting()
方法中添加了以下内容:
int pageNumber = 0;
// deny crawl for bots on pages
if (filterContext.ActionParameters.ContainsKey("pageNumber"))
{
pageNumber = Convert.ToInt16(filterContext.ActionParameters["pageNumber"]);
if ((Request.UserAgent.Contains("msnbot") |
Request.UserAgent.Contains("googlebot")) && pageNumber > 2)
{
Response.StatusCode = 410;
Response.Status = "410 Gone";
filterContext.Result = new RedirectResult(Url.Action("NoCrawlerMessage", "Home"));
}
}
在调试期间,当我将浏览器的用户代理更改为包含“googlebot”或“msnbot”时,页面重定向就好了。
但是,当我将其投入生产并重试时,根本没有任何变化 - 请求的页面加载,它不应该加载。
这里有什么问题?