/robots.txt 请求的 Apache 重写规则
如果您使用 Apache 作为网络服务器,您可以robots
通过在 .htaccess 文件中使用重写规则为您在该 VHOST 上运行的每个网站创建一个名为并放置 robots.txt 的目录,如下所示:
# URL Rewrite solution for robots.txt for multidomains on single docroot
RewriteCond %{REQUEST_FILENAME} !-d # not an existing dir
RewriteCond %{REQUEST_FILENAME} !-f # not an existing file
RewriteCond robots/%{HTTP_HOST}.txt -f # and the specific robots file exists
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]
/robots.txt 请求的 NginX 映射
当使用 NginX 作为网络服务器时(同时以yourdomain1.tld
和yourdomain2.tld
作为示例域),您可以使用以下条件变量实现与上述帖子相同的目标(将其放在您的服务器指令之外):
map $host $robots_file {
default /robots/default.txt;
yourdomain1.tld /robots/yourdomain1.tld.txt;
yourdomain2.tld /robots/yourdomain2.tld.txt;
}
这样,您可以在try_files
服务器指令中的语句中使用此变量:
location = /robots.txt {
try_files /robots/$robots_file =404;
}
/robots/*.txt 的内容
在为特定于域的 robots.txt 文件设置别名后,/robots/yourdomain1.tld.txt
使用文件底部的以下语法将站点地图添加到每个机器人文件(例如:):
# Sitemap for this specific domain
Sitemap: https://yourdomain1.tld/sitemaps/yourdomain1.tld.xml
对您拥有的所有域执行此操作,您将被设置!