Техническая реализация редиректа

S
На сайте с 09.11.2018
Offline
34
357

Привет. Нужна помощь знающих.

Мне нужно сделать 301 редирект для всего и всех, кроме Яндексбота, а самому же Яндексботу отдавать код сервера 403.

Подскажите, пожалуйста, как это технически реализовать ? Что прописать нужно (как я понимаю в htaccess-е).

Станислав Романенко
На сайте с 05.09.2007
Offline
325
#1

Что-то типа такого:


RewriteCond %{HTTP_USER_AGENT} ^Yandex.* [NC]
RewriteRule ^(.*)$ - [R=403,L]

RewriteCond %{HTTP_HOST} ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Сайт не лезет в топ? Сделаю аудит без воды всего за 8000 рублей! Отзывы клиентов тут (https://searchengines.guru/ru/forum/939454), почта для связи: ingref@ya.ru Посмотрю, в чём проблема с вашим сайтом, за 100 рублей (https://searchengines.guru/ru/forum/comment/15662080).
S
На сайте с 09.11.2018
Offline
34
#2
Ingref:
Что-то типа такого:

Не сработало. Вот тестовый сайт, на котором это делаю http://laringit-lechenie.ru

301 отдает всем, включая Яндекс

https://prnt.sc/mer4as

---------- Добавлено 31.01.2019 в 16:06 ----------

Ingref:
Что-то типа такого:

RewriteCond %{HTTP_USER_AGENT} Yandex [NC]

RewriteRule ^(.*)$ - [R=403,L]

RewriteCond %{HTTP_HOST} ^laringit-lechenie\.ru$ [NC]

RewriteRule ^(.*)$ https://www.ukr.net/$1 [R=301,L]

вот такой вариант сработал. Подскажите что значат эти три символа вокруг яндекса ^Yandex.* ?

Алеандр
На сайте с 08.12.2010
Offline
202
#3
Saaa:
Не сработало. Вот тестовый сайт, на котором это делаю http://laringit-lechenie.ru
301 отдает всем, включая Яндекс
https://prnt.sc/mer4as

---------- Добавлено 31.01.2019 в 16:06 ----------


RewriteCond %{HTTP_USER_AGENT} Yandex [NC]
RewriteRule ^(.*)$ - [R=403,L]

RewriteCond %{HTTP_HOST} ^laringit-lechenie\.ru$ [NC]
RewriteRule ^(.*)$ https://www.ukr.net/$1 [R=301,L]

вот такой вариант сработал. Подскажите что значат эти три символа вокруг яндекса ^Yandex.* ?

^ признак начала строки юзерагента

.* - Любые символы после слова Яндекс

Т.е. сейчас в новой версии любой у кого в юзерагенте есть yandex - получит 403

С предыдущей версией - только юзерагенты "Yandex_и_дальше_что_угодно"

Станислав Романенко
На сайте с 05.09.2007
Offline
325
#4

Да, точно, скобочки забыл. Должно было быть так:

^Yandex(.*)

^ - начало строки

(.*) - любая последовательность символов

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий