We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
Сервер отвечает редиректом на запрос /robots.txt
Сервер отвечает редиректом на запрос /robots.txt
Панель Vesta на CentOS, сайт на wordpress. Перевел сайт на https. В яндекс вебмастере ошибка:
Мой конфиг nginx по адресу:
home - admin - conf - web
Что пробовал:
1.
Ставить в .htaccess:
Результата нет. FilesMatch не работает.
2.
Перенаправлять зашифрованный трафик через:
вместо схемы:
чтобы как-то задействовать команды прерывания редиректа:
или
^^^ Потому что эти команды не работают.
Но и сама эта команда:
вызывает бесконечную переадресацию и сайт не работает.
3.
Пробовал в nginx ставить такую команду:
Тоже бесполезно. Ничего не происходит.
4.
Если переадресацию с http на https ставить не в nginx, а в htaccess, например так:
то опять же происходит бесконечная переадресация и сайт не загружается.
5. Во всех конфигах апача открыл:
Но всё равно никакие подобные конфиги в htaccess не работают:
Перепробовал кажется всё. Подскажите люди добрые. Первый конфиг рабочий, весь трафик льется на https без ошибок, но нужно чтобы лилось всё, кроме robots.txt, потому что яндекс его не видит.
Надо запретить переадресацию robots.txt. Перерыл интернет, есть много решений, ни одно не подходит. Кто подскажет, сделает большое дело, потому что ошибка очень частая. Для Vesta решений не нашел, хотя убил вчерашний день и сегодняшнее утро, перерыл и русскоязычную и англоязычную сеть. Везде одни и те же рекомендации, которые не помогают. Видать что-то я упускаю из виду.Сервер отвечает редиректом на запрос /robots.txt
Мой конфиг nginx по адресу:
home - admin - conf - web
Code: Select all
server {
listen ip:80;
server_name site.ru www.site.ru;
error_log /var/log/httpd/domains/site.ru.error.log error;
location / {
# В данных передающихся апачу дописываем вызов директивы limit_req
limit_req zone=dyn burst=10;
proxy_pass http://ip:8080;
}
# Вынес статистику отдельно из обработки апача
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|tif|tiff|css|js|htm|html|ttf|otf|webp|woff|txt|csv|rtf|doc|docx|xls|xlsx|ppt|pptx|odf|odp|ods|odt|pdf|psd|ai|eot|eps|ps|zip|tar|tgz|gz|rar|bz2|7z|aac|m4a|mp3|mp4|ogg|wav|wma|3gp|avi|flv|m4v|mkv|mov|mpeg|mpg|wmv|exe|iso|dmg|swf)$ {
root /home/admin/web/site.ru/public_html;
access_log /var/log/httpd/domains/site.ru.log combined;
access_log /var/log/httpd/domains/site.ru.bytes bytes;
expires max;
try_files $uri @fallback;
}
location /error/ {
alias /home/admin/web/site.ru/document_errors/;
}
location @fallback {
proxy_pass http://ip:8080;
}
location ~ /\.ht {return 404;}
location ~ /\.svn/ {return 404;}
location ~ /\.git/ {return 404;}
location ~ /\.hg/ {return 404;}
location ~ /\.bzr/ {return 404;}
include /home/admin/conf/web/nginx.site.ru.conf*;
# managed by Certbot
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/site.ru/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/site.ru/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# Redirect non-https traffic to https
if ($scheme != "https") {
return 301 https://$host$request_uri;
} # managed by Certbot
}
1.
Ставить в .htaccess:
Code: Select all
<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>
2.
Перенаправлять зашифрованный трафик через:
Code: Select all
server {
listen 80;
server_name site.ru;
return 301 https://site.ru$request_uri;
}
Code: Select all
if ($scheme != "https") {
return 301 https://$host$request_uri;
}
Code: Select all
location /robots.txt {
root /home/admin/web/site.ru/public_html;
}
Code: Select all
location /home/admin/web/site.ru/public_html/ {
rewrite ^ /robots.txt break;
}
Но и сама эта команда:
Code: Select all
return 301 https://site.ru$request_uri;
3.
Пробовал в nginx ставить такую команду:
Code: Select all
if ($request_uri !~* /robots.txt) {
return 301 https://$host$request_uri;
}
4.
Если переадресацию с http на https ставить не в nginx, а в htaccess, например так:
Code: Select all
RewriteEngine On
RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{REQUEST_FILENAME} !^robots\.txt
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
5. Во всех конфигах апача открыл:
Code: Select all
<Directory />
AllowOverride none
</Directory>
Code: Select all
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]
Code: Select all
RewriteEngine On
RewriteCond %{HTTP:X-HTTPS} !1
RewriteCond %{REQUEST_FILENAME} !^robots\.txt
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Перепробовал кажется всё. Подскажите люди добрые. Первый конфиг рабочий, весь трафик льется на https без ошибок, но нужно чтобы лилось всё, кроме robots.txt, потому что яндекс его не видит.