Задать вопрос
Ответы пользователя по тегу robots.txt
  • Почему когда несколько сайтов на одном сервере не работает robots.txt?

    Informatikum
    @Informatikum Автор вопроса
    Преподаю робототехнику и информатику в школе.
    Не до конца разобрался, сделал по другому. У меня в nginx был один конфиг сайта. Когда я пытался создать копию конфига для второго сайта, то получал много сообщений о дубликатах строк. Когда добавлял информацию про второй сайт в основной конфиг, все переставало работать.

    Удалил все конфиги сайтов в nginx. Создал конфиг c нуля для двух сайтов и все заработало! Теперь у каждого сайта есть свой robots.txt! :D

    server {
    
    listen 80 default;
    
    server_name site1.ru;
    
    
    
    location / {
    
    proxy_pass http://127.0.0.1:8080;
    
    proxy_set_header X-Real-IP $remote_addr;
    
    proxy_set_header Host $http_host;
    
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    }
    
    
    location ~*^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
    
    root /var/www/site1.ru/;
    
    }
    
    }
    
    server {
    
    listen 80 default;
    
    server_name site2.ru;
    
    
    
    location / {
    
    proxy_pass http://127.0.0.1:8080;
    
    proxy_set_header X-Real-IP $remote_addr;
    
    proxy_set_header Host $http_host;
    
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
    }
    
    
    location ~*^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|js)$ {
    
    root /var/www/site2.ru/;
    
    }
    
    }


    Спасибо всем за помощь!
    Ответ написан
    Комментировать
  • Почему когда несколько сайтов на одном сервере не работает robots.txt?

    Informatikum
    @Informatikum Автор вопроса
    Преподаю робототехнику и информатику в школе.
    Пробовал еще как варианты:
    server {
      listen   8000 backlog=1024 deferred ;
      root /var/www/site2.ru;
    ----


    ----
      location / {
        try_files $uri @backend;
        if ($http_host ~* "^site2.ru"){
        rewrite ^/robots.txt?$ /robots.txt break;
        }
    ----


    Не помогло...
    Ответ написан
    Комментировать
  • Почему когда несколько сайтов на одном сервере не работает robots.txt?

    Informatikum
    @Informatikum Автор вопроса
    Преподаю робототехнику и информатику в школе.
    Главный nginx.conf

    user www-data;
    worker_processes  4;
    worker_rlimit_nofile 8192;
    
    error_log  /var/log/nginx/error.log;
    pid        /var/run/nginx.pid;
    
    events {
      worker_connections  2048;
    }
    
    http {
      include       /etc/nginx/mime.types;
      default_type  application/octet-stream;
    
      access_log	/var/log/nginx/access.log;
    
      sendfile on;
      tcp_nopush on;
      tcp_nodelay on;
    
      keepalive_timeout  65;
    
      gzip  on;
      gzip_http_version 1.0;
      gzip_comp_level 5;
      gzip_proxied any;
      gzip_types text/plain text/css application/x-javascript application/xhtml+xml text/xml application/xml application/xml+rss text/javascript application/javascript;
      gzip_disable "MSIE [1-6]\.";
    
      server_names_hash_bucket_size 128;
    
      include /etc/nginx/conf.d/*.conf;
      include /etc/nginx/sites-enabled/*;
    }


    Конфиг главного сайта и пока единственный файл. /etc/nginx/sites-enabled
    Название site.ru указано как пример.

    gzip_static                     on;
    gzip_buffers 16 8k;
    
    directio 4m;
    max_ranges 4;
    
    open_file_cache          max=60000 inactive=60s;
    open_file_cache_valid    60s;
    open_file_cache_min_uses 2;
    open_file_cache_errors   on;
    
    postpone_output 512;
    reset_timedout_connection on;
    
    sendfile_max_chunk 2M;
    underscores_in_headers on;
    
    server {
      listen   80 default_server backlog=1024 deferred ;
      root /var/www/site.ru;
      index index.php;
      server_name _ 2057.hoster.ru site.ru www.site.ru ;
      server_name_in_redirect off;
      charset utf-8;
    
      proxy_redirect http://127.0.0.1:8080 http://$host;
    
      client_max_body_size 1024m;
      client_body_buffer_size 4m;
    
      proxy_connect_timeout 300;
      proxy_send_timeout 300;
      proxy_read_timeout 300;
      proxy_buffer_size 64k;
      proxy_buffers 8 256k;
      proxy_busy_buffers_size 256k;
      proxy_temp_file_write_size 10m;
    
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
      location ~* ^.+\.(jpg|txt|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
        try_files $uri @backend;
        expires  max;
      }
    
      location / {
        try_files $uri @backend;
      }
    
      location ~ \.php$ {
        try_files  $uri @backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_pass http://127.0.0.1:8080;
      }
    
      location @backend {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_pass http://127.0.0.1:8080;
      }
     
      location ~ ^/server-status$ {
        proxy_pass http://127.0.0.1:8080;
      }
    
      location ~ ^/nginx-status$ {
        stub_status on;
        allow 127.0.0.0/24;
        deny all;
      }
    
    
      location = /favicon.ico {
        log_not_found off;
      }
       
      location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
      }
    
      location ~ (/\.ht|\.git|\.svn|\.hg) {
        deny all;
      }
    
    }


    Я пробовал добавить в последний файл отдельной частью еще раз все, что есть в server и указывал другие пути. Так же пробовал создать копию этого конфига и прописать новые пути. После перезапуска nginx все сайты были недоступные.
    Ответ написан
    Комментировать
  • Почему когда несколько сайтов на одном сервере не работает robots.txt?

    Informatikum
    @Informatikum Автор вопроса
    Преподаю робототехнику и информатику в школе.
    Спасибо, заработало. Только теперь у меня один робот.тхт для всех сайтов стал. У каждого сайта соответсвенно свой должен быть робот.тхт.

    Делаю копию первого сайта в /etc/nginx/sites-enabled# и все сайты перестают работать.
    Ответ написан