我有几个网站,它们都有相同的robots.txt。
当我修改一个时,我必须修改其他的。因此,这让一些人感到困扰。
我有一个想法,就是通过后端代码生成robots.txt。后端将通过WEB API从远程服务器获取数据并生成数据。
以下是StackOverflow教程中的代码:
public class OthersController: Controller
{
[Route("/robots.txt")]
public ContentResult RotbotsTXT()
{
String Result=///some code get robots data from remote server.
return this.Content(Result, "text/plain", Encoding.UTF8);
}
}尽管如此,它在浏览器上运行良好。
然而,我遇到了一个奇怪的情况。
一些爬虫可以正确访问路由,但无法检测到它(例如,百度蜘蛛)。
而且,一些爬行器(例如谷歌机器人)会奇怪地访问路由www.abc.com//robots.txt ( robots.txt从不存储在这里),而不是www.abc.com/robots.txt。
通过创建TXT文件返回到原来的方式后,所有的问题都清楚了。
我的代码出了什么问题?我该怎么解决它呢?谢谢。
发布于 2021-09-19 00:55:55
将[Route("/robots.txt")]更改为[Route("robots.txt")],如下所示:
public class OthersController: Controller
{
[Route("robots.txt")]
public ContentResult RobotsTXT()
{
String Result=///some code get robots data from remote server.
return this.Content(Result, "text/plain", Encoding.UTF8);
}
}https://stackoverflow.com/questions/69239437
复制相似问题