Переадресация с www у мульдоменного тисайта
Доброго дня всем.
Очень сильно прошу откликнуться всех, кто сталкивался с мультидоменами и редиректами. Итак, пришел на ремонт сайт с мультиподдоменами по направлениям деятельности. Сам по себе очень сильно грузит сервер, хотя в нем буквально в сумме около 1000 страниц, что в целом уже странно. Сайт-горемыка писался и дописывался многими людьми, я же пытаюсь его разогнать, очистить от мусора и настроить для SEO-шников. Вот по 1-му очень важному пункту требование, чтобы все домены и поддомен редиректились с www.site.ru на site.ru. По сути банально простая задача, ан нет…
Прописаны контексты. Файл index.php тоже имеет нужное, как описано в инструкциях.
Хостинг — ISP panel. Включила модуль Апач2. Пишу в htaccess
Причем все последующие сео-правила и плюшки хостинг ест, а редиректа с www нет как нет.
Пробовала и так:
Стали с хостером разбираться. Переключили модуль Apache на FastCGI (Nginx + PHP-FPM), написали
В общем своими силами решения не нашли. Товарищи, выручайте! Какие есть мысли с поддоменами, генерируемыми на уровне самого MODX REVO? Поделитесь рабочими кодами хтацеса или nigx, пожаааалуйста…
Очень сильно прошу откликнуться всех, кто сталкивался с мультидоменами и редиректами. Итак, пришел на ремонт сайт с мультиподдоменами по направлениям деятельности. Сам по себе очень сильно грузит сервер, хотя в нем буквально в сумме около 1000 страниц, что в целом уже странно. Сайт-горемыка писался и дописывался многими людьми, я же пытаюсь его разогнать, очистить от мусора и настроить для SEO-шников. Вот по 1-му очень важному пункту требование, чтобы все домены и поддомен редиректились с www.site.ru на site.ru. По сути банально простая задача, ан нет…
Прописаны контексты. Файл index.php тоже имеет нужное, как описано в инструкциях.
switch(strtolower(MODX_HTTP_HOST)) {
case 'shop.pit-stop.by:80':
case 'shop.pit-stop.by':
$modx->initialize('shop');
break;
case 'blog.pit-stop.by:80':
case 'blog.pit-stop.by':
$modx->initialize('blog');
break;
case 'edu.pit-stop.by:80':
case 'edu.pit-stop.by':
$modx->initialize('edu');
break;
case 'service.pit-stop.by:80':
case 'service.pit-stop.by':
$modx->initialize('service');
break;
case 'furniture.pit-stop.by:80':
case 'furniture.pit-stop.by':
$modx->initialize('furniture');
break;
case 'soft.pit-stop.by:80':
case 'soft.pit-stop.by':
$modx->initialize('soft');
break;
case 'pit-stop.by:80':
case 'pit-stop.by':
$modx->initialize('web');
break;
default:
$modx->initialize('web');
if ( !empty($_REQUEST) && $_REQUEST['q'] === 'robots.txt' ) {
$modx->initialize('web');
break;
}
}
И вроде не было бы беды, да не редиректят поддомены с www.site на site. С основным доменом вообще проблем нет — отлично выбрасывает www.Хостинг — ISP panel. Включила модуль Апач2. Пишу в htaccess
#Options +FollowSymLinks
RewriteEngine On
RewriteBase /
DirectoryIndex index.php
ServerSignature Off
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
# Прячем index php
RewriteCond %{REQUEST_URI} ^(.*)/index\.php$
RewriteRule ^(.*)index\.php$ http://%{HTTP_HOST}/$1 [R=301,L]
#переадресация с www на #
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Но в результате все поддомены на www.shop.pit-stop.by/ открывают ERR_NAME_NOT_RESOLVED.Причем все последующие сео-правила и плюшки хостинг ест, а редиректа с www нет как нет.
Пробовала и так:
# Редирект www.site1.ru -> site1.ru
RewriteCond %{HTTP_HOST} ^pit\-stop\.by [NC]
RewriteRule ^/?(.*) http://pit-stop.by/$1 [R=301,L]
# Редирект всех остальных www -> non-www, кроме site1.ru
RewriteCond %{HTTP_HOST} !^www\.pit\-stop\.by [NC]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Тоже никакого эффекта. Даже в index.php пыталась дописать case 'www.shop.pit-stop.by': да не помогло.Стали с хостером разбираться. Переключили модуль Apache на FastCGI (Nginx + PHP-FPM), написали
if ($host = 'www.pit-stop.by' ) {
rewrite ^ http://pit-stop.by$uri permanent;
}
и даже так
if ($host = 'www.shop.pit-stop.by' ) {
rewrite ^ http://shop.pit-stop.by$uri permanent;
}
На выходе еще больше косяков: админка режет адрес до manager, все домены и поддомены ссылаются на shop.pit-stop.by.В общем своими силами решения не нашли. Товарищи, выручайте! Какие есть мысли с поддоменами, генерируемыми на уровне самого MODX REVO? Поделитесь рабочими кодами хтацеса или nigx, пожаааалуйста…