我正在使用Aegir / Barracuda / Nginx来维护多站点设置。我的“files”目录符号链接到已安装的“files”目录。因此,当我克隆一个用于开发目的的站点时,它使用相同的“files”目录。使用sites / mydomain / files作为robots.txt的位置的当前做法的问题在于,我无法在我的新克隆开发站点中放置自定义路线以阻止爬虫形成索引,从而因重复内容而受到惩罚。我有解决方法吗?
我的文件目录几乎必须符号链接,因为它包含大量媒体文件,每次克隆网站时重新创建整个“files”目录是没有意义的。
答案 0 :(得分:0)
在考虑了这个问题之后,你甚至不必让Drupal Aegir处理这个请求。这是一个纯文本文件,根本不需要Drupal Aegir引导程序。让nginx直接处理请求
server {
server_name server2;
root /var/server2;
# Tell nginx that a request to the robots.txt in the files directory should
# be matched against the robots.txt in our document root.
location = /files/robots.txt {
alias $document_root/robots.txt;
}
# Directly deliver the robots.txt, no need to bootstrap Drupal Aegir.
location = /robots.txt {
try_files $uri =404;
}
location / {
# your normal stuff
}
}