PHP: помогите сгенерировать в зависимости от запрошенного сайта robots.txt

100chuk
На сайте с 02.12.2005
Offline
194
1004

Доброй ночи!

Заранее спасибо знатокам PHP. :smoke:

Задача: в одной папке сидят несколько сайтов, надо в зависимости от запрошенного сайта выдать robots.txt. Т.е. если сайт 1, тогда его прописываем в Host, если сайт 2 - тогда его.

В результате должно получиться:

или

User-Agent: *

Disallow:

Host: site1

или

User-Agent: *

Disallow:

Host: site2

SG
На сайте с 21.01.2007
Offline
96
#1

а в чём проблема?

в .htaccess пишешь

AddType application/x-httpd-php .txt

пишешь в роботс.тхт пхп скрипт, который в завимиости от REQUEST_URL будет выдавать нужный сайт

если уж меганапряг-стучись в аську, сделаю за мааааленькую денежку целиком.

A
На сайте с 12.05.2004
Offline
176
#2

В .htaccess пишем:

RewriteCond %{HTTP_HOST} ^www\.site1\.com$

RewriteRule ^robots.txt$ http://www.site1.com/robots.php [R=302,L]

RewriteCond %{HTTP_HOST} ^www\.site2\.com$

RewriteRule ^robots.txt$ http://www.site2.com/robots.php [R=302,L]

В robots.php:

<?PHP

if ($_SERVER['SERVER_NAME'] == 'www.site1.com'){

echo "User-Agent: *\n\n

Disallow:\n\n

Host: www.site1.com";

}

if ($_SERVER['SERVER_NAME'] == 'www.site2.com'){

echo "User-Agent: *\n\n

Disallow:\n\n

Host: www.site2.com";

}

?>

kav
На сайте с 21.02.2006
Offline
159
kav
#3

alexseo, ты слишком усложнил, то что можно в 3 строки сделать...

к тому же в коде допущена АшиПка... второй if следовало бы заменить на elseif....

а вообще рабочий код:

в .htaccess пишешь
AddType application/x-httpd-php .txt

здесь усе путем...

а вот в файле роботс пишем:


User-Agent: *
Disallow:
Host:<?php echo str_replace('www.', '',$_SERVER['HTTP_HOST']);?>

если основной хост с ццц, то


User-Agent: *
Disallow:
Host: www.<?php echo str_replace('www.', '',$_SERVER['HTTP_HOST']);?>

str_replace добавлено для того чтоб хост не менялся в зависимости от того с ццц или без обращается робот...

Я знаю только то, что ничего не знаю © Сократ а когда я забываю даже это, вспоминаю про..... Форум - это такое место, где 2-е людей могут убедить в своих заблуждениях тысячи
100chuk
На сайте с 02.12.2005
Offline
194
#4

alexseo, kav - спасибо!

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