Вопрос или проблема
У меня есть мультисайт на WordPress, где я создал “песочницу”, и теперь я готов перенести эту песочницу на рабочий сайт. Я чувствую себя уверенно во всем, но по какой-то причине основной сайт недоступен для редактирования.
Основной сайт – “website.com”
Новый сайт – “website.com/sandbox”
По сути, я хочу изменить основной сайт на “website.com/old” и сделать новый сайт “website.com”.
Есть идеи, как разблокировать текущий основной сайт, чтобы я мог изменить URL? Я уже пробовал это:
define('SITE_ID_CURRENT_SITE', 2);
define('BLOG_ID_CURRENT_SITE', 2);
Но это ничего не изменило.
Для того чтобы мультисайт с подкаталогами работал, нужно изменить правило mod_rewrite (т.е. файл .htaccess). Вы просто добавили две строки в wp_config.php или создали сеть WordPress, как описано здесь?
Ответ или решение
Переключение основного сайта в сети WordPress Multisite — это задача, которая требует понимания структуры и конфигурации системы. В вашей ситуации вы хотите переместить содержимое "песочницы" (sandbox) на основное доменное имя, при этом сохранив текущий основной сайт под новым суффиксом URL. Чтобы это сделать, вам потребуется выполнить несколько шагов, включающих в себя изменения на уровне базы данных, конфигурации WordPress и, возможно, правки файлов сервера.
Теория
В WordPress Multisite каждый сайт имеет свой уникальный идентификатор в базе данных, и этот идентификатор используется для определения, какой сайт является основным. Первый сайт в сети имеет ID=1 и считается основным по дефолту. Когда вы пытаетесь сделать другой сайт основным, необходимо не просто изменить URL, но и правильно перенастроить ссылки, базу данных и файлы конфигурации.
Пример
1. Изменение URL сайтов
Вам потребуется изменить URL в административной панели мультисайтовой сети WordPress, а также вручную внести изменения в таблицы базы данных. Начните с изменения настроек в панели администратора:
- Перейдите в Network Admin (Админ сети) -> Sites (Сайты).
- Выберите сайт, который вы хотите сделать основным (в вашем случае "website.com/sandbox") и измените его доменное имя на "website.com".
- Измените URL у текущего основного сайта (сейчас это "website.com") на "website.com/old".
Приложение
Изменение базы данных
Изменения в базе данных являются важной частью этого процесса, и вам потребуются соответствующие инструменты доступам, такие как phpMyAdmin или административная утилита для работы с базами данных.
-
Таблица wp_blogs: Измените значения в колонках
domain
иpath
для сайтов, которые вы хотите переключить. -
Таблица wp_site: Проверьте таблицу, чтобы убедиться, что здесь не требуется внесение дополнительных изменений.
-
Таблица wp_options и wp_sitemeta: Для каждого сайта проверьте значения
siteurl
иhome
. Убедитесь, что они отражают новый URL.
Наладка .htaccess и wp-config.php
WordPress Multisite использует файл конфигурации .htaccess
для настройки правил переписывания URL. Убедитесь, что этот файл настроен корректно для нормальной работы с поддиректориями.
Также внесите правки в wp-config.php
:
- Убедитесь, что вы корректно настроили директивы
DOMAIN_CURRENT_SITE
,PATH_CURRENT_SITE
,SITE_ID_CURRENT_SITE
иBLOG_ID_CURRENT_SITE
. - Проверьте, соответствует ли текущий идентификатор текущего основного сайта значению, определенному в
BLOG_ID_CURRENT_SITE
.
define('DOMAIN_CURRENT_SITE', 'website.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1); // Убедитесь, что здесь правильный ID
define('BLOG_ID_CURRENT_SITE', 1); // Убедитесь, что здесь правильный ID
Дополнительные шаги
-
Очистка кэша: Если у вас настроены плагины для кэширования, такие как W3 Total Cache или WP Super Cache, очистите их кэш, чтобы обновления вступили в силу.
-
Перепроверка плагинов и тем: Некоторые плагины и темы могут иметь жестко закодированные URL. Проверьте конфигурацию для этих элементов на наличие неправильных ссылок.
-
Проверка на наличие ошибок: После изменений внимательно следите за журналами ошибок сервера и WordPress, чтобы при необходимости оперативно устранить любые возникшие ошибки.
Это сложный процесс, который требует определенных знаний и навыков, поэтому рекомендуется выполнить резервное копирование всех данных перед началом операций. Если у вас возникают сомнения в собственных силах, может быть полезным привлечь опытного разработчика или системного администратора для выполнения данной задачи.
С учетом вышеизложенных шагов, вы сможете изменить основной сайт в вашей установке WordPress Multisite, что позволит повседневно использовать целевой "песочничный" сайт под основным доменом.