Как создать мультисайт WordPress на поддоменах в OpenServer
Мультисайт отличная возможность CMS WordPress! Начинающие веб-мастера, могли о ней даже не слышать, а те кто слышал не всегда понимают зачем она может быть нужна.
Коротко о том, где мультисайт будет вам полезен:
- Региональные отделения компании. Например, WESPE CLUB реализовывал проект детского клуба Синестетика с несколькими отделениями в разных городах. Основной сайт клуба находится по адресу https://sinestet.ru, а региональные отделения в поддоменах вида spb.sinestet.ru или kazan.sinestet.ru Тоже самое можно реализовывать для любых отделений в рамках одного города. Никаких ограничений тут нет. Фактически это разные сайты, у которых могут быть разные администраторы. В каждом отделении из примера выше существует своё расписание занятий и т.д.
- Мультиязычность. Очень просто реализуемая и просто управляемая. Для каждого языка может существовать свой поддомен или своя папка вида ru.mysite.com или mysite.com/ru
- Демо сайты для студий и веб-мастерских. Например, студия может размещать демо своих тем WordPress на отдельном поддомене или в отдельной папке, а фрилансер или веб-мастерская при работе над клиентским сайтом размещать его на своём сервере. Это даёт возможность не потеряв управление сайтом давать доступ к нему клиентам.
Почему не сделать для каждого случая отдельный сайт, спросите вы? Отвечаем в этой статье подробно и с примерами. Сегодняшняя наша статья посвящена отдельной боли начинающих веб-мастеров. Настройке OpenServer для работы с мультисайтом. И не просто с мультисайтом, а на поддоменах.
Какой бы вариант мультисайта вы не выбрали для своего WordPress творчества, обязательно используйте одну из лучших WordPress тем – Divi theme с мощным конструктором страниц Divi builder на борту. Тем более в нашем каталоге она со скидкой 60%!
Лицензионная тема Divi в нашем каталоге со скидкой 60%.
Мультисайт WordPress на поддоменах в OpenServer
Для начала
Определим проблематику. Почему нам пришло в голову написать статью о том как настраивать мультисайт именно на поддоменах и именно в OpenServer? Потому, что именно это часто вызывает большие трудности.
При работе в OpenServer мультисайт будет работать как надо, если вы строите его с подкаталогами вида mysite.com/mysite-1. Можете создавать сайт смело пользуясь официальной информацией или нашим пошаговым руководством, информация из этой статьи вам не понадобится.
Заглянув на страницу кодекса WordPress, посвящённую созданию сети сайтов можно довольно быстро разобраться что и как делать, однако дальше нас ждёт несколько сюрпризов. Будет открываться и работать основной сайт, но все поддомены работать откажутся.
Решив проблему с работоспособностью сайтов сети, с большой долей вероятности вы столкнётесь с ещё одной проблемой – снова не сможете попасть в административную панель ни одного сайта, кроме основного. Причиной тому Куки, которые откажутся работать на подсайтах. На наше счастье, если знать решение, ни одна проблема не покажется серьёзной. Разбираем по шагам порядок действий.
Перед началом убедитесь, что:
- Установлен OpenServer
- Установен Worpdress
- Установлен редактор кода или текстовый редактор
Можно начинать!
Разрешаем создание мультисайта
Начиная с версии WordPress 3.0 возможность создания мультисайта стала частью ядра, заменив собой плагин. Однако, реализовать эту возможность можно только зная некоторые нюансы. Пункта меню “Создать мультисайт” в административной панели вы не найдёте. Эту возможность нам нужно себе разрешить.
Открываем файл wp-config.php редактором и ищем в нём строку
/* Это всё, дальше не редактируем. Успехов! */
Прямо ПЕРЕД ней вставляем следуёщий код:
1 2 |
/* Включение режима WordPress Мультисайт */ define( 'WP_ALLOW_MULTISITE', true ); |
Перезагружаем админку. Должно получится приблизительно так.
В административной панели появился новый пункт меню ИНСТРУМЕНТЫ – > УСТАНОВКА СЕТИ
Создаём мультисайт в административной панели
Настроек минимум. Выбираем ПОДДОМЕНЫ, вводим название сайта и адрес электронной почты администратора сети. После этого нажимаем кнопку “Установить”
И тут нас поджидает первый неприятный момент. Мультисайт WordPress на поддоменах в OpenServer так просто не сдаётся! Вы увидите предупреждение о том, что маска домена не настроена правильно.
Это сообщение нужно проигнорировать, оно напрямую на работоспособность сети не влияет. К сожалению hosts не поддерживает возможность использования маски для доменов. Хорошо, что это не обязательное условие для того чтобы настроить мультисайт WordPress на поддоменах в OpenServer. Просто едем дальше.
Продолжим настройки в соответствии с подсказками на экране. Нам понадобится внести изменения в два файла wp-config.php и .htaccess
Откроем файл конфигурации Wordrpess и внесём туда код из верхнего окошка. В файл .htaccess код из нижнего. WordPress сам отлично знает что делать и охотно подсказывает пользователю.
После внесённых изменений перезагружаем админпанель и входим под логином и паролем. Подробно описывать процесс создания сети сайтов в рамках этой статьи мы не будем. Если не знаете как это деается прочтите нашу статью о мультисайтах. Переходим к самому интересному. За кадром мы создали сайт на поддомене spb.wespeschool. При попытке перейти на вновь созданный сайт или зайти в его админпанель мы получаем ошибку.
Настраиваем OpenServer для правильной работы мультисайта
Отправляемся в настройки хостов в OpenServer. В меню выбираем следующие пункты ДОПОЛНИТЕЛЬНО – КОНФИГУРАЦИЯ – HOSTS ФАЙЛ и добавляем новую строку поддомена. В нашем случае 127.0.0.1 spb.wespeschool
Обратите внимание надо целиком скопировать строку с вашим основным доменом и вставить её следом, добавив нужный поддомен. У нас это строка №9 с основным доменом и строка №10 с добавленным поддоменом. Теперь наш файл выглядит так:
1 2 3 4 5 6 7 8 9 10 11 |
# Start Open Server b9b3423b179cf113848dc2362e23784a_hosts 127.0.0.1 cardioweb 127.0.0.1 cardio-wp 127.0.0.1 gant 127.0.0.1 grav 127.0.0.1 listiq 127.0.0.1 localhost 127.0.0.1 sinestet 127.0.0.1 wespeschool 127.0.0.1 spb.wespeschool # End Open Server b9b3423b179cf113848dc2362e23784a_hosts |
Перезагрузим OpenServer!
Ура! Сайт заработал. Мы видим его по адресу spb.wespeschool. Отправляемся в административную часть и… снова ошибка!!!
ОШИБКА: Cookies либо заблокированы, либо не поддерживаются вашим браузером. Чтобы использовать WordPress, нужно разрешить cookies.
Устраняем проблему входа в административную панель
Неопытный сайтостроитель уже впал бы в отчаяние, но мы не такие. Мультисайт WordPress на поддоменах в OpenServer будет работать чего бы нам это не стоило. Куки, значит куки!
Одна волшебная строчка кода и проблемы как не бывало!
1 |
define('COOKIE_DOMAIN', strtolower( stripslashes( $_SERVER['HTTP_HOST'] ) ) ); |
Доавляем её в файл wp-config.php сразу после добавленного нами ранее кода.
Сохраняем файл конфигурации и перезагружаем админку. Работает!
Заключение
Мультисайт WordPress на поддоменах в OpenServer довольно специфическая история. Возможность построить сеть сайтов в WordPress реализована давно, но разобраться с проблемами, возникающими при работе в OpenServer под силу не каждому начинающему веб-мастеру. Однако, дорогу осилит идущий. Пробуйте всё получится! Все вопросы пишите в комментариях.