Яндекс и 301 редирект не дружат?

Имею проблему с доменом в яндекс вебмастере. Сервер настроен так:
server {
    server_name www.domain.ru;
    return 301 $scheme://domain.ru$request_uri;
}

server {
    listen       80;
    server_name  domain.ru;
}

Ситуация такая, что яндекс не хочет принимать домен без www как основной, но также не хочет верифицировать через 301 редирект. А мне очень нужно чтобы пользователи видели в адресной строке домен без www так как он и так очень длинный. И Host в robots.txt не решает проблему, если поставить без www, получаю: "В файле robots.txt задана противоречивая директива Host".

Почему не проходит верификация через 301 редирект? Варинат с мета-тэгами не подходит.
  • Вопрос задан
  • 753 просмотра
Решения вопроса 1
karabanov
@karabanov
Системный администратор
Сделайте robots.txt доступным без редиректа:

location  ~ ^(/robots.txt|/sitemap.xml|/sitemap_video.xml|/favicon.ico)$ {
           root /var/www/example.com/html;
        }
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@gto6120 Автор вопроса
Итоговый конфиг, который позволил отдать верификационный файл и robots.txt напрямую без редиректа:

server {
server_name www.domain.ru;

location / {
return 301 $scheme://domain.ru$request_uri;
}

location ~ ^(/robots.txt|/sitemap.xml|/favicon.ico|/yandex_verification_file.html)$ {
root /var/www/user/domain.ru;
allow all;
log_not_found off;
access_log off;
}
}

server {
listen 80;
server_name domain.ru;
root /var/www/nikolay/domain.ru;
index index.html index.htm index.php;

location ~ ^(/robots.txt|/sitemap.xml|/favicon.ico) {
allow all;
log_not_found off;
access_log off;
}

...
}
Ответ написан
Комментировать
@firstlena
Вообще такие вопросы лучше напрямую в поддержку Вебмастера писать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы