Вопрос или проблема
Я пытаюсь настроить многосайтовую среду с подкаталогами, но когда я добавляю новый сайт и затем перехожу на панель управления нового сайта, он показывает совершенно белую страницу с ссылками на различные админ-меню, и все ссылки ведут на белую страницу с сообщением «Файл не найден».
Вот скриншот того, как выглядит админская страница https://i.sstatic.net/7dTFz.jpg
Вот мой файл htaccess
:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# добавляем завершающий слеш к /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress
А это мой раздел многосайтовой настройки в wp-config.php
:
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'fresenia.man.poznan.pl');
define('PATH_CURRENT_SITE', "https://wordpress.stackexchange.com/");
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Вам просто нужно вставить этот код в файл .htaccess
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# добавляем завершающий слеш к /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress
и этот код в файл wp-config.php
define('WP_DEBUG', false);
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'fresenia.man.poznan.pl');
define('PATH_CURRENT_SITE', "https://wordpress.stackexchange.com/");
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Это рабочий и протестированный код с моей стороны.
У меня была похожая проблема, когда я настроил многосайт, и панель управления нового сайта постоянно вылетала. Я немного покопался и выяснил, что причиной была плагин “Page Optimize” от WordPress.
Надеюсь, это поможет кому-то.
Ответ или решение
Когда вы сталкиваетесь с проблемой, когда панель управления нового сайта в вашей многосайтовой среде отображает белую страницу и ссылки на различные административные меню ведут на страницу с сообщением "Файл не найден", это может быть вызвано несколькими факторами. Давайте рассмотрим детали и возможные решения этой проблемы.
1. Проверка конфигурации .htaccess
Ваш файл .htaccess
критически важен для правильной работы многосайтовой сети. Он отвечает за перенаправление запросов к нужным ресурсам. Согласно предоставленной вами информации, ваш текущий файл .htaccess
выглядит следующим образом:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress
Убедитесь, что на сервере включен модуль mod_rewrite
и что настройки вашего веб-сервера позволяют использовать .htaccess
файлы.
2. Подкорректируйте настройки в wp-config.php
Ваш файл wp-config.php
также ключевой для работы многосайтовой сети. Рассмотрите его текущую конфигурацию:
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'fresenia.man.poznan.pl');
define('PATH_CURRENT_SITE', "https://wordpress.stackexchange.com/");
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
Обратите внимание, что PATH_CURRENT_SITE
должен содержать относительный путь вашего сайта, а не полный URL. Попробуйте изменить его на:
define('PATH_CURRENT_SITE', '/');
Это должно помочь правильно маршрутизировать запросы.
3. Дебаггинг и отладка
Включите режим отладки, добавив в ваш wp-config.php
:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
После этого попытайтесь снова зайти в панель управления нового сайта. Ошибки будут записаны в файл wp-content/debug.log
, что поможет вам выявить, где произошел сбой.
4. Конфликтующие плагины
Ваша ссылка на плагин "Page Optimize" указывает на потенциальные проблемы с совместимостью. Если вы устанавливали какие-либо плагины, временно отключите их и проверьте, будет ли работать панель управления. Неправильно настроенные или конфликтующие плагины могут приводить к ошибкам на сайте.
5. Проверьте права доступа
Убедитесь, что директории и файлы вашего WordPress имеют правильные права доступа. Обычно папки должны иметь права 755
, а файлы — 644
. Неправильные права могут привести к ошибкам доступа.
Заключение
Проблема с отображением панели управления нового сайта в многосайтовой сети может быть вызвана неправильными настройками .htaccess
, конфликтующими плагинами или неправильной конфигурацией в wp-config.php
. Просмотрите данные пункты и внесите необходимые изменения. Не забудьте проверить логи на наличие ошибок, что существенно поможет в диагностике проблемы.
Эти шаги должны помочь вам восстановить нормальную работу использования панели управления вашего нового сайта в многосайтовом окружении. Если проблема продолжает существовать, может потребоваться более тщательный аудит вашей установки WordPress.