Два robots.txt в одном каталоге

12
V
На сайте с 13.02.2008
Offline
29
492

Здравствуйте уважаемые!

Ситуация такая: два разных сайта с разной структурой и доменными именами висят на одном движке и стало быть физически находятся в одном каталоге. Для одного сайта robots.txt уже лежит в корне и работает.

Подскажите пожалуйста, можно ли создавать два файла robots.txt в одном каталоге или можно ли в одном файле как-то разграничить записи для двух разных доменов? если да, то какой синтаксис?

Задача - прописать disallow и для второго сайта.

Заранее спасибо!

Создание сайтов под ключ (http://greenjet.ru), интерактивных программ.
CD
На сайте с 21.10.2004
Offline
82
#1

.htaccess + php

Отличная конвертация женского трафика. (http://tinyurl.com/394ayz3) Второй месяц - в подарок! Core2Duo E6600 2x2.4ГГц / 4ГБ / 2x250ГБ => $68/мес. (http://tinyurl.com/E6600)
V
На сайте с 13.02.2008
Offline
29
#2
CompDocs:
.htaccess + php

а можете чуть подробнее рассказать?

CD
На сайте с 21.10.2004
Offline
82
#3

Может вам еще ключ от квартиры? :D

Ну ок, примерно так:

.htaccess

RewriteEngine On

RewriteRule ^robots.txt /robots.php [L]

robots.php

<?php


header('Content-Type: text/plain');

if ($_SERVER['HTTP_HOST'] == 'site1.ru' || $_SERVER['HTTP_HOST'] == 'www.site1.ru')
{
?>
User-agent: *
Disallow: /123/
Host: www.site1.ru
<?php
}

else

{
?>
User-agent: *
Disallow: /456/
Host: www.site2.ru
<?php
}

?>

На работоспособность не тестировал, писал прям в форме ответа.

V
На сайте с 13.02.2008
Offline
29
#4
CompDocs:
Может вам еще ключ от квартиры? :D

Ну ок, примерно так:

.htaccess
RewriteEngine On

RewriteRule ^robots.txt /robots.php [L]


robots.php
<?php


header('Content-Type: text/plain');

if ($_SERVER['HTTP_HOST'] == 'site1.ru' || $_SERVER['HTTP_HOST'] == 'www.site1.ru')
{
?>
User-agent: *
Disallow: /123/
Host: www.site1.ru
<?php
}

else

{
?>
User-agent: *
Disallow: /456/
Host: www.site2.ru
<?php
}

?>


На работоспособность не тестировал, писал прям в форме ответа.

ключ не нужен, спасибо)))

буду разбираться

CD
На сайте с 21.10.2004
Offline
82
#5

Кстати, вот нашел более элегантный вариант (чтоб php не дергать) - http://blog.cherouvim.com/robotstxt-control-for-host-aliases-via-mod_rewrite/

I4
На сайте с 29.04.2011
Offline
5
#6
CompDocs:
Может вам еще ключ от квартиры? :D

Ну ок, примерно так:

.htaccess
RewriteEngine On

RewriteRule ^robots.txt /robots.php [L]


robots.php
<?php


header('Content-Type: text/plain');

if ($_SERVER['HTTP_HOST'] == 'site1.ru' || $_SERVER['HTTP_HOST'] == 'www.site1.ru')
{
?>
User-agent: *
Disallow: /123/
Host: www.site1.ru
<?php
}

else

{
?>
User-agent: *
Disallow: /456/
Host: www.site2.ru
<?php
}

?>


На работоспособность не тестировал, писал прям в форме ответа.

Спасибо вам огромное. Очень подробно все описано.

Дорога в ТОП Google (http://ivanbl4.ru)
V
На сайте с 13.02.2008
Offline
29
#7

вот еще похожее решение: http://zya.su/archives/11

VoV@
На сайте с 22.09.2007
Offline
196
#8
vikatoria:

Задача - прописать disallow и для второго сайта.

Заранее спасибо!

Почему бы не использовать <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"> для "лишних" страниц?

⭐ Разработка Андроид-приложений (Xamarin C#). ⭐ Разработка ASP.NET (WebForms, MVC, WebAPI, Core). ⭐ Цой жив!
V
На сайте с 13.02.2008
Offline
29
#9
VoV@:
Почему бы не использовать <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW"> для "лишних" страниц?

мне кажется это менее красивое решение - особенно если таких страниц много. кроме того тут не пропишешь правил, обрезающих хвосты в каталогах например.

VoV@
На сайте с 22.09.2007
Offline
196
#10
vikatoria:
мне кажется это менее красивое решение - особенно если таких страниц много. кроме того тут не пропишешь правил, обрезающих хвосты в каталогах например.

Наверное Вы правы.

Но я вообще сомневаюсь, что может быть красивый костыль из .htaccess для 2-х сайтов в одной директории. Первоначальное решение кривое само по себе.

12

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