Форумы / National / Russian / Тех. поддержка / Админка на субдомене

Yusupov
#1 10.09.2014 16:12

Уважаемые разработчики, подскажите как настроить ЧПУ, чтобы админка открывалась на субдомене, например admin.site.com. Как только не пытался...

Macik
#2 10.09.2014 19:38

Это не тривиальная задача. Сам не решал, но послать — пошлю в нужном направлении...

  • субдомен должен быть настроен у хостера и ссылаться на туже папку, что и основной
  • должен быть настроен .htaccess  (что-то типа этого, но не проверял)
RewriteCond %{HTTP_HOST} ^admin.site.com$ [NC]
RewriteRule ^(.*)$ admin/$1 [QSA,NC,NE]
  • включить мультидомены ($cfg['multihost'] = TRUE;), и проверить, что при вызове админки, в переменную $cfg['main_url'] попадает 'http://admin.site.com' и соотв. внутренние переменные типа `$sys['domain']`, `$sys['host']` тоже указывают на поддомен.  (я не помню работал ли полностью корректно мультидомен)

 

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
Yusupov
#3 11.09.2014 04:59

Спасибо, Андрей! Делаю примерно также, но пока результата нет.

Добавлено 3 минуты спустя:

Если включить мультихост, то домен админки будет применяться по всему сайту. Поэтому этого делать не надо.

Добавлено 2 минуты спустя:

RewriteCond %{HTTP_HOST} ^admin\.site\.com$ [NC]
RewriteRule ^$ admin.php [QSA,NC,NE]

Когда устанавливаю такие правила, то главная админки работает, но остальные страницы в админке нет. 

Отредактировано: Yusupov (11.09.2014 05:49, 9 лет назад)
Wadik
#4 11.09.2014 05:35

Yusupov, если у Вас получится, очень интересно было бы узнать способ как это сделать... Спасибо!

Yusupov
#5 11.09.2014 05:49

Ура! Заработало!

Вот как получилось:

1) В пресет-файле прописываем правило:

admin	*	http://admin.site.com

2) В .htaccess прописываем правила:

RewriteCond %{HTTP_HOST} ^admin\.site\.com$ [NC]
RewriteRule (.*) admin.php [QSA,NC,NE,L]
RewriteCond %{HTTP_HOST} ^admin\.site\.com$ [NC]
RewriteRule ^([^/&?#]+)$ admin.php?m=$1 [QSA,NC,NE,L]

3) Мультихост у меня отключем. Но также нужно настроить на домене псевдоним admin.site.com

 

Надо еще попробовать привести внутренние ссылки в админке в нормальный вид без ? и &.

Добавлено 7 часа спустя:

Рано радовался. На локальном веб-сервере все пашет, а на хостинге нет. Видимо сервер надо еще как-то настраивать.

Добавлено 3 часа спустя:

Про режим мультихоста, почему-то он у меня не работает. Поэтому решил проблему путем добавления строки 

session_set_cookie_params(0, '/', '.site.com');

После этого все встало на свои места.

Отредактировано: Yusupov (11.09.2014 15:12, 9 лет назад)
Macik
#6 28.09.2016 20:42

Сопутствующий материал «Сокрытие админки».

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F
vic1379
#7 12.01.2017 08:58

Уважаемые разработчики, подскажите как сделать, чтобы отдельный модуль открывалась на субдомене, например projects.сайт.рф. Пробовал по аналогии данной теме на хостинге создал поддомен типа работа.сайт.рф, автоматически с поддомена перенаправляет на основной, после как в данной теме но ничего не получается((