我有一个MVC Web应用程序。该应用程序的某些部分受到限制,并且只需登录网站就可以访问...出于某些原因,我不知道,网络爬虫会尝试浏览器还需要身份验证的地址,从而获得404 Http错误。
我在Web应用程序的根目录中添加了robots.txt文件:
User-agent: *
Disallow: /api/
Disallow: /user/carrier/favorites/
Disallow: /carrier/
Disallow: /find/start/
Sitemap: https://xxx/sitemap.xml
然后,在我的web.config中,添加了一个处理程序:
<add name="RobotsText"
path="robots.txt"
verb="GET"
type="System.Web.Handlers.TransferRequestHandler"
preCondition="integratedMode,runtimeVersionv4.0" />
然后我部署了该应用程序。我检查了文件机械手,并已部署了新配置。一切似乎还不错,问题仍然存在.....
我的日志中充满了此类错误:
System.Web.HttpException
在控制器上找不到匹配的动作 “ MyApp.Web.Controllers.CarrierController”。当 控制器使用RouteAttribute进行路由,但对此没有任何操作 控制器匹配请求。
我认为这是一个爬虫,因为我有这个详细信息(这是一个示例...我也有bingbot和其他人,...):
HTTP_USER_AGENT
Mozilla / 5.0(兼容; SemrushBot / 2〜bl; + http://www.semrush.com/bot.html)
怎么了?
谢谢