Здравствуйте.
Есть сайт на котором было сделано чтобы при открытии любого субдомена (sub.site.ru) показывалось содержимое с основного домена (site.ru) , а сам субдомен (sub) передавался как get параметр. С этой частью проблем не возникло, было реализовано так:
# DirectoryIndex index.php
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.site\.ru$ [NC]
RewriteRule ^(.*)$ index.php?sub_dom=%2 [L]
Дальше мне понадобилось закрыть все субдомены от индексации. Для этого создал два разных файла robot1.txt и robot2.txt. И делал на них подмену с стандартного "robots.txt" в зависимости от наличия субдомена. Если субдомен есть, по открывался robot2.txt в котором стоял запрет на индексацию. Сделал с помощью данного кода:
RewriteBase /
RewriteCond %{HTTP_HOST} ([a-z0-9-]+).site.ru$
Rewriterule ^robots.txt$ /robots2.txt [L]
RewriteCond %{HTTP_HOST} site.ru$
Rewriterule ^robots.txt$ /robots1.txt [L]
По отдельности всё работает как нужно, но если использовать эти правила вместе, то второе не срабатывает. И вместо "robots.txt" открывается индексная страница.
Полагаю что нужно внести исключение в первое правило, но уже пару часов не могу разобрать как это сделать.
P.S. Кроме этих двух частей кода, в .htaccess больше ничего нету.