0

わかりました。これを追加します

User-Agent: *
Disallow: /

本番環境以外のすべての環境のrobots.txtに...最善のアイデアはこれを実行したいと考えています。パブリックフォルダから削除してルート/ビューを作成する必要があります

アセットパイプラインの前にレール3.0.14を使用しています...提案

4

2 に答える 2

4

ブロッキングrobots.txtをアップロードするためのCapistranoタスク

セルジオの答えと本質的に同じ道を今日も書き直しましたが、ロボット固有の結果を共有することで誰かの時間を節約できるかもしれません:)

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"
于 2012-11-15T00:32:20.820 に答える
3

これが私のプロジェクトからの実際の動作コードです(robots.txtではなくnginx構成ですが、アイデアは明確である必要があります)。

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を介してコンテンツをアップロードします。

于 2012-07-02T23:45:24.210 に答える