Возможно, вам придется проверить HTTP_REFERER, если вы хотите сделать это через Apache.Возможно, было бы неплохо начать обновлять сайт, чтобы в будущем ссылки были динамичными ...
Что-то вроде (я не могу сейчас это проверить):
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_HOST} !^[a-z]{2}\.host\.com$ [NC]
RewriteCond %{HTTP_REFERER} ^http://([a-z]{2})\.host.com/.*$ [NC]
RewriteRule (.*) http://%1.host.com/$1 [R,L,QSA]
РЕДАКТИРОВАТЬ: удалено НЕ в 3-м условии
Возможно, вам придется проверить некоторые другие условия, но проверить вещи, чтобы выяснить, что работает.Кроме того, если вы делаете другие перенаправления, вам нужен способ сохранить первоначальный реферер.В некотором смысле, даже если ссылки такие, какие они есть, это может быть проще сделать с помощью более динамичных средств с помощью php (через сессию) или чем-то подобным.
Я использовал эти:
http://www.askapache.com/htaccess/mod_rewrite-variables-cheatsheet.html#HTTP_REFERER
http://www.askapache.com/htaccess/modrewrite-tips-tricks.html