Дашборд мультисайта WordPress не работает..!

Вопрос или проблема

Я установил сеть мультисайтов в WordPress на своем тестовом сервере, и она работала нормально, но когда я сделал то же самое на своем рабочем сервере, она не работает должным образом. Когда я пытаюсь войти в wp-admin, все открывается нормально, но когда я пытаюсь открыть панель управления подсайта, ее панель загружается без CSS, и ни одна из ссылок не открывается (каждая ссылка показывает “файл не найден”), в то время как панель управления по умолчанию работает отлично. Эта настройка работает корректно на моем тестовом сервере.

Ниже приведен мой htaccess:

RewriteEngine On
RewriteBase /pages/
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]

# для файлов, оканчивающихся на ".py"
<FilesMatch \.css$>
    SetEnv no-gzip 1
</FilesMatch>

Вот мой wp-config:

/**
 * Основные настройки WordPress.
 *
 * Этот файл содержит следующие параметры: настройки MySQL, префикс таблицы,
 * секретные ключи, язык WordPress и ABSPATH. Вы можете найти больше информации
 * на странице {@link http://codex.wordpress.org/Editing_wp-config.php Редактирование
 * wp-config.php} Codex. Вы можете получить настройки MySQL у вашего веб-хоста.
 *
 * Этот файл используется скриптом создания wp-config.php во время
 * установки. Вам не нужно использовать веб-сайт, вы можете просто скопировать этот файл
 * в "wp-config.php" и заполнить значения.
 *
 * @package WordPress
 */

// ** Настройки MySQL - эту информацию вы можете получить у своего веб-хоста ** //
/** Название базы данных для WordPress */
define('DB_NAME', 'xxxxx'); 

/** Имя пользователя MySQL базы данных */
define('DB_USER', 'xxxxx');

/** Пароль MySQL базы данных */
define('DB_PASSWORD', 'xxxxx');

/** Имя хоста MySQL */
define('DB_HOST', 'localhost');

/** Кодировка базы данных, используемая при создании таблиц базы данных. */
define('DB_CHARSET', 'utf8');

/** Тип сортировки базы данных. Не изменяйте это, если не уверены. */
define('DB_COLLATE', '');

/**#@+
 * Уникальные ключи и соли аутентификации.
 *
 * Измените эти значения на различные уникальные фразы!
 * Вы можете сгенерировать их, используя {@link https://api.wordpress.org/secret-key/1.1/salt/ сервис секретных ключей WordPress.org}
 * Вы можете изменять их в любое время, чтобы аннулировать все существующие cookie. Это заставит всех пользователей войти снова.
 *
 * @since 2.6.0
 */
define('AUTH_KEY',         'xxxxx');
define('SECURE_AUTH_KEY',  'xxxxx');
define('LOGGED_IN_KEY',    'xxxxx');
define('NONCE_KEY',        'xxxxx');
define('AUTH_SALT',        'xxxxx');
define('SECURE_AUTH_SALT', 'xxxxx');
define('LOGGED_IN_SALT',   'xxxxx');
define('NONCE_SALT',       'xxxxx');

/**#@-*/

/**
 * Префикс таблиц базы данных WordPress.
 *
 * Вы можете иметь несколько установок в одной базе данных, если вы дадите каждой уникальный
 * префикс. Пожалуйста, используйте только цифры, буквы и подчеркивания!
 */
$table_prefix  = 'wp_';

/**
 * Для разработчиков: режим отладки WordPress.
 *
 * Измените это на true, чтобы включить отображение уведомлений во время разработки.
 * Настоятельно рекомендуется, чтобы разработчики плагинов и тем использовали WP_DEBUG
 * в своих средах разработки.
 */
define('WP_DEBUG', false);

/* На этом все, прекращайте редактирование! Приятного ведения блога. */

/* Мультисайт */
define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'www.example.com');
define('PATH_CURRENT_SITE', '/pages/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

/** Абсолютный путь к директории WordPress. */
if ( !defined('ABSPATH') )
    define('ABSPATH', dirname(__FILE__) . "https://wordpress.stackexchange.com/");

/** Устанавливает переменные WordPress и включает файлы

Пожалуйста, помогите..!!

Откройте файл wp-config.php. Отключите конкатенацию скриптов, добавив эту строку:

define('CONCATENATE_SCRIPTS', false);

Убедитесь, что вы добавили это перед:

/** Абсолютный путь к директории WordPress. */
if ( !defined('ABSPATH') )
        define('ABSPATH', dirname(__FILE__) . "https://wordpress.stackexchange.com/");

Надеюсь, это поможет вам решить проблемы с установками WordPress!
Но не уверен насчет административных страниц. Это поможет решить проблему с вашей панелью управления.

Ответ или решение

У вас возникла проблема с работой панели управления подменьшенной подсистемы (subsite) в установке WordPress с мультисайтом на вашем производственном сервере. Давайте рассмотрим несколько возможных причин и решений этой проблемы.

Проблема

Судя по вашему описанию, при входе в панель управления подменю отсутствуют стили CSS, и большинство ссылок не работают (выдает ошибку 404). Это может указывать на проблемные настройки перезаписи (rewrite) или конфигурации пула (base path) на сервере.

Решения

  1. Проверьте файл .htaccess:

    Убедитесь, что файл .htaccess настроен правильно. Ваш файл выглядит хорошо, но давайте его немного изменим, чтобы пробовать устранить проблему. Убедитесь, что он содержит следующие строки:

    RewriteEngine On
    RewriteBase /pages/
    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]

    Убедитесь, что директория /pages/ существует на сервере и правильно настроена для вашего сайта.

  2. Проверьте файл wp-config.php:

    Убедитесь, что ваш файл wp-config.php правильно настроен для мультисайта, особенно строки, касающиеся адреса текущего сайта и пути:

    define('DOMAIN_CURRENT_SITE', 'www.example.com');
    define('PATH_CURRENT_SITE', '/pages/');

    Убедитесь, что это соответствует фактическому адресу вашего сайта.

  3. Отключите объединение скриптов:

    Для устранения проблем с загрузкой ресурсов отключите объединение скриптов, добавив следующую строку перед определением ABSPATH в файле wp-config.php:

    define('CONCATENATE_SCRIPTS', false);
  4. Проверьте права доступа:

    Убедитесь, что директории и файлы вашего WordPress имеют правильные права доступа. В идеале файловая система должна иметь права на запись для веб-сервера, чтобы не возникали проблемы с загрузкой стилей и скриптов.

  5. Очистите кеш:

    Если вы используете плагин кеширования, попробуйте очистить кеш. Также попробуйте открыть панель управления в режиме инкогнито браузера, чтобы исключить проблемы, связанные с кешем браузера.

  6. Проверьте наличие конфликтов плагинов:

    Временно отключите все плагины и активируйте стандартную тему WordPress, чтобы исключить возможность конфликтов, которые могут вызывать подобные проблемы.

Заключение

Убедитесь, что все настройки, которые я указал выше, выполнены правильно. Часто такие проблемы связаны именно с неправильной конфигурацией или настройками сервера. При соблюдении всех указанных шагов, проблема, вероятно, должна быть решена. Если по-прежнему будут проблемы, попробуйте обеспечить логирование ошибок, чтобы лучше понять, что случилось.

Оцените материал
Добавить комментарий

Капча загружается...