Здравствуйте, коллеги! Прошу помочь правильно решить проблему.
У меня мультисайтинг, в котором работают три сайта:
sait1.com //основной домен
sait1.com/sait2 //подсайт в папке
sait3.sait1.com //поддомен
Связка работает без проблем, все везде прописано (.htaccess, settings.php), но есть одна проблема, ожидаемая впрочем. Вопрос на самом деле елементарный, но у меня почему-то ничего не работает.
Для работы связки мультисайтинга, sait2 и sait3 созданы симлинком, а в .htaccess присутствует следующий код:
RewriteRule ^sait3/(.*)$ http://sait3.sait1.com/$1 [R=301,L] //для узнавания поддомена
RewriteCond %{REQUEST_FILENAME} !-f // для узнавания сайта в папке
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^/sait2/(.*)$
RewriteRule ^(.*)$ /sait2/index.php?q=$1 [L,QSA]
При такой конструкции sait2 прекрасно показывается не только по адресу sait1.com/sait2, но и в зеркальном виде по адресу sait3.sait1.com/sait2
Понимаю, что это логично следует из .htaccess, но я никак не могу ограничить правило для sait2, чтобы действовало только для основного домена sait1.com.
Уже изгалялась и прописывала кучу всего (
например,
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTP_HOST} !^sait3\.sait1\.com [NC]
// или RewriteCond %{REQUEST_URI} !^sait3.sait1.com/sait2/(.*)$ [NC]
RewriteCond %{REQUEST_URI} ^/sait2/(.*)$
RewriteRule ^(.*)$ /sait2/index.php?q=$1 [L,QSA]
) - не работает. Дайте идею как убить зеркало, пожалуйста.
Комментарии
Боюсь тупо добавить:
RewriteRule ^(.*)$ http://www.sait1.com/sait2/index.php?q=$1 [L,QSA]
Кажется так получится цикл.
Да, а в settings.php для site2 прописан $base_url = 'http://www.site1.com/site2';, что не мешает в зеркале спокойто брать $base_url как http://site3.site1.com/site2