У меня есть веб-сайт с хорошим RewriteRule в корне, который перенаправляет все запросы такого рода:
http://domain.com/foo/parameter
в
http://domain.com/index.php?args=parameter
Пользователи могут видеть только чистый URL, и все довольны.
Теперь вот проблема: DNS DNS domain.com имеет запись A для domain.com, указывающую на IP частного сервера, и запись A для mail.domain.com, указывающую на точно такой же IP.
По неизвестной причине, в последние пару месяцев Google дважды проиндексировал все страницы моего сайта (http://domain.com/foo/par1
, http://domain.com/foo/par2
и т. Д.) С другим набором с почтовым поддоменом (http://mail.domain.com/foo/par1
, http://mail.domain.com/foo/par2
). и т.д.).
Я подумал, что смогу избавиться от всех них, перенаправив любой запрос на mail.domain.com/$ что бы то ни было на domain.com, и в конечном итоге Google поймет, что все эти страницы с субдоменом 'mail' перенаправляют на домашнюю страницу и поэтому нет необходимости.
Я пробовал это в .htaccess:
RewriteCond %{HTTP_HOST} ^mail.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com [R=301,L]
Но это перенаправляет на видимый URL, который выглядит следующим образом: http://domain.com/index.php?args=parameter
, а я просто хочу перенаправить на домашнюю страницу.
Какая форма правильная, и есть ли более элегантные способы добиться этого, возможно, добавить что-то в robots.txt? (Обратите внимание, что я не могу просто запретить подпапку здесь)