转发子域名的robots.txt是哪个?

时间:2017-10-30 21:42:44

标签: subdomain robots.txt

理论上我在我的托管中设置了两个子域:

subdomain1.mydomain.com

subdomain2.mydomain.com

subdomain2有一条CNAME记录,指向外部服务。

mydomain.comrobots.txt,可以为所有内容编制索引。

subdomain2.mydomain.com有一个robots.txt,允许根据CNAME记录编制索引。

如果我设置了从subdomain1.mydomain.comsubdomain2.mydomain.com的转发,如果访问robots.txt的链接,会使用subdomain1.mydomain.com?在涉及CNAME时,域转发的工作方式与robots.txt记录的工作方式相同吗?

2 个答案:

答案 0 :(得分:1)

这取决于您的服务器设置。

采取以下配置,例如:

C:\Users\your_profile\\.ipython\profile_default

在这种情况下,我们会将所有c = get_config() c.InteractiveShell.ast_node_interactivity = "all" 重定向到server { server_name subdomainA.example.com; listen 80; return 302 http://subdomainB.example.com$request_uri; } 。这将包括您的subdomainA.example.com文件。

但是,如果您的配置设置为仅重定向某些部分,则subdomainB.example.com文件只会在列表中重定向。如果您仅重定向,例如robots.txt

,就会出现这种情况

请注意,如果您不返回302但只使用不同的根(例如robots.txt/someFolder是不同的子域但提供相同的内容),那么您的subdomainA内容将会由根目录决定。

因此,如果我正确理解您的配置,subdomainB将使用robots.txt中的subdomain1

答案 1 :(得分:1)

您遇到的挑战是从您尝试配置的任何软件的角度来看待事物,但搜索引擎和其他机器人只会看到他们从中加载的文档URL(就像任何其他具有Web浏览器的用户一样)。也就是说,搜索引擎会尝试加载http://subdomain1.mydomain.com/robots.txthttp://subdomain2.mydomain.com/robots.txt,这取决于您(通过配置您的服务器正在运行的任何软件),以确保这些服务器实际上是为您服务的想。

CNAME只是在加载浏览器应该查看的IP以解析域名时添加重定向的一种方法。机器人在解析名称时会使用它来找出"真实的"要连接的IP,但它与GET /robots.txt请求连接到服务器后的操作没有任何关系。

就"转发"而言,该术语可能意味着不同的事情,因此您需要知道浏览器或机器人在请求页面时会收到什么。如果它正在执行301或302重定向以将客户端发送到另一个URL,那么您可能会从不同的搜索引擎获得有关他们如何尊重这一点的不同结果,特别是如果它被重定向到一个完全不同的领域。我可能会试图避免它,只是因为很多机器人写得不好。某些搜索引擎可以使用工具来帮助您确定抓取工具读取robots.txt网址的方式,例如Google's tool