Как сделать перенаправление на поддомены
Добрый день! Не могу разобраться, как сделать перенаправление на поддомен...
Есть запись в .htaccess
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(ru|en)?/?(.*)$ index.php?cultureKey=$1&q=$2 [L,QSA]
В ней я определяю в каком контексте сейчас нахожусь. Контекст обрабатываю простым кодом:
/* Определяю текущий язык в cultureKey */
switch ($_REQUEST['cultureKey']) {
#Переключаю контекст */
case 'en':
$modx->switchContext('en');
setlocale(LC_ALL, 'en_US.UTF8');
break;
default:
$modx->switchContext('web');
setlocale(LC_ALL, 'ru_RU.UTF8');
break;
}
/* Очищаю GET-параметр чтобы не допустить появлении ссылки вида cultureKey=xy при генерации URL других компонентов */
unset($_GET['cultureKey']);
И получается URL такого формата:
Для ru - http://sitename.com/sity/
Для en - http://sitename.com/en/sity/
Но никак не могу понять как написать правило в htaccess, чтобы сделать записи через поддомен формата:
Для ru - http://sitename.com/sity/ => http://sity.sitename.com/
Для en - http://sitename.com/en/sity/ => http://sity.sitename.com/en/
Ответы (1 шт):
Автор решения: Anton Tarasov
→ Ссылка
Не трогайте htaccess - совсем. MODX отлично справляется с роутингом, если вы используете мультидомены в рамках контекстов. Задайте правильно настройки контекстов, настройте плагин для переключения(у вас выше есть) и все. Про мультидоменность много написано, погуглите, например: