好的,所以我想添加这个
User-Agent: *
Disallow: /
除了生产之外的所有环境中的 robots.txt ......任何关于最好的想法都想这样做。我应该从公共文件夹中删除它并创建一个路由/视图
我在资产管道之前使用 rails 3.0.14 ...任何建议
好的,所以我想添加这个
User-Agent: *
Disallow: /
除了生产之外的所有环境中的 robots.txt ......任何关于最好的想法都想这样做。我应该从公共文件夹中删除它并创建一个路由/视图
我在资产管道之前使用 rails 3.0.14 ...任何建议
我今天再次写了这篇文章,基本上与塞尔吉奥的答案相同,但分享机器人特定的结果可能会节省一些时间:)
namespace :deploy do
desc "Uploads a robots.txt that mandates the site as off-limits to crawlers"
task :block_robots, :roles => :app do
content = [
'# This is a staging site. Do not index.',
'User-agent: *',
'Disallow: /'
].join($/)
logger.info "Uploading blocking robots.txt"
put content, "#{current_path}/public/robots.txt"
end
end
然后从你的登台配方中触发它,比如
after "deploy:update_code", "deploy:block_robots"
这是我项目中的真实工作代码(它是 nginx 配置,不是 robots.txt,但想法应该很清楚)。
task :nginx_config do
conf = <<-CONF
server {
listen 80;
client_max_body_size 2M;
server_name #{domain_name};
-- snip --
}
CONF
put conf, "/etc/nginx/sites-available/#{application}_#{rails_env}"
end
因此,基本上,您在字符串中创建文件的内容,然后执行put
所需的路径。这将使 capistrano 通过 SFTP 上传内容。