Ошибка 404 в панелях администратора поддоменов WordPress Multisite

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

Недавно настроил сеть WordPress с несколькими поддоменами. Domain.com/Sub-Domain Установка прошла успешно, подсайты работают, но я не могу получить доступ к панели администратора или любой другой странице/ссылке. Возвращает 404

Что я пробовал.

  • Проверил файл WP-Config
define( 'WP_DEBUG_LOG', true );
define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'domain.domain.org' );
define( 'PATH_CURRENT_SITE', "https://wordpress.stackexchange.com/" );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
define( 'WP_POST_REVISIONS', 35);
define( 'WP_MEMORY_LIMIT', '3048M' );
define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );
define( 'SCRIPT_DEBUG', false );
define( 'WP_DEBUG_LOG', false );
if ( ! defined( 'ABSPATH' ) ) {
    define( 'ABSPATH', __DIR__ . "https://wordpress.stackexchange.com/" );

Проверил файл htaccess

#Пример для подкаталога

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]

#Пример для поддомена

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]


# BEGIN WordPress Multisite
<IfModule mod_rewrite.c>
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]
</IfModule>
# END WordPress Multisite

Основной домен активен и работает нормально, но все панели администратора и страницы подсайтов выдают 404

введите описание изображения здесь

введите описание изображения здесь

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

Для решения проблемы с ошибкой 404 в админ-панелях поддоменов в вашей установке WordPress Multisite, сначала нужно проверить и скорректировать несколько ключевых аспектов. Вот пошаговое руководство по исправлению ошибки:

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

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

define( 'DOMAIN_CURRENT_SITE', 'domain.com' ); // Замена на ваш основной домен
define( 'PATH_CURRENT_SITE', '/' ); // Если ваш сайт находится прямо в корне
define('SUBDOMAIN_INSTALL', true ); // Это должно быть true, если вы используете поддомены

Убедитесь, что DOMAIN_CURRENT_SITE соответствует вашему основному домену, а PATH_CURRENT_SITE — пути, где установлен WordPress.

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

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

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
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]
</IfModule>
# END WordPress

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

3. Проверьте настройки DNS

Убедитесь, что все поддомены корректно настроены в ваших DNS-записях. Каждому поддомену должно соответствовать правильное A-запись, указывающее на IP-адрес вашего сервера.

4. Проверьте конфигурацию сервера

Иногда проблема может возникать из-за конфигурации самого сервера. Если вы используете Apache, проверьте, что модуль mod_rewrite включен:

sudo a2enmod rewrite
sudo service apache2 restart

5. Отключите плагины и темы

Попробуйте временно отключить все плагины и переключите тему на стандартную (например, Twenty Twenty-One), чтобы исключить возможность конфликтов, вызывающих 404 ошибку.

6. Проверьте логи сервера

Если проблема сохраняется, рассмотрите возможность проверки логов ошибок вашего сервера. Это может дать больше информации о том, что вызывает 404 ошибку.

7. Включите отладку

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

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );

Это создаст файл debug.log в каталоге wp-content, где вы сможете просмотреть подробные ошибки.

Заключение

Следуя вышеуказанным шагам, вы должны быть в состоянии устранить ошибку 404 в админ-панелях поддоменов вашего WordPress Multisite. Обязательно проверяйте каждый шаг и корректируйте настройки в зависимости от конфигурации вашего сервера и особенностей вашего хостинга. Если ошибки продолжаются, рекомендуется обратиться к технической поддержке вашего хостинга для дополнительной помощи.

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

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