- Вопрос или проблема
- .htaccess
- Ответ или решение
- Решение проблемы 403 Forbidden для подсайтов WordPress с использованием поддоменов
- 1. Правильная настройка DNS и поддоменов
- 2. Правильное конфигурирование веб-сервера
- 3. Проверка .htaccess
- 4. Проверка разрешений файлов и каталогов
- 5. Проверка конфигурации WordPress
- 6. Разрешение проблемы
- Заключение
Вопрос или проблема
Итак, я настроил многосайтовую сеть в соответствии с страницей сайта WordPress: https://codex.wordpress.org/Create_A_Network
Я использую последнюю версию WordPress 4.8.
Настройка
example.com
sub.example.com
Все запросы к поддомену для панели управления и сайта дают
403 – доступ запрещен. У вас нет разрешения на доступ к / на этом сервере.
.htaccess
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]
Разрешения установлены как в WordPress - строгие
, которые работают нормально:
sudo find . -type d -exec chmod -R 755 {} \;; sudo find . -type f -exec chmod 644 {} \;; sudo chmod 444 wp-config.php .htaccess ; sudo chmod -R 755 wp-content ; sudo chmod -R 775 wp-content/uploads/ ; sudo chgrp -R admin . && sudo chown -R admin:www-data wp-content
Я настроил поддомены на своем сервере и указал корневые каталоги документов на основной сайт example.com
.
Я искал несколько часов, почему это не работает, но не могу найти решения… может кто-нибудь помочь?
https://wordpress.stackexchange.com/a/135740/141068
Я использовал приведенную выше ссылку, чтобы исправить свою проблему.
Вы можете проверить, чтобы ваш поддомен с подстановочным знаком указывал на ту же папку, что и папка основного установки WordPress.
Например, если example.com
установлен в public_html/example.com
, то *.example.com
должно быть добавлено в ту же public_html/example.com
.
Ответ или решение
Решение проблемы 403 Forbidden для подсайтов WordPress с использованием поддоменов
При создании сети мультисайтов на WordPress с использованием поддоменов могут возникнуть ошибки доступа, такие как 403 Forbidden, которые препятствуют корректной работе администраторской панели и страниц поддоменов. Рассмотрим ключевые аспекты решения этой проблемы.
1. Правильная настройка DNS и поддоменов
Для начала убедитесь, что DNS-запись вашего wildcard поддомена настроена правильно. Она должна указывать на тот же IP-адрес, что и основной домен. А именно, в DNS-записях необходимо иметь запись типа A для *.example.com
, которая указывает на IP-адрес вашего сервера.
*.example.com A <YOUR_SERVER_IP>
2. Правильное конфигурирование веб-сервера
Убедитесь, что ваш веб-сервер (Apache, Nginx и т. д.) настроен правильно для работы с мультисайтом. Для Apache необходимо, чтобы в конфигурации вашего виртуального хоста была активирована директива AllowOverride
:
<Directory /path/to/your/wordpress/>
AllowOverride All
</Directory>
Это позволит файлу .htaccess
управлять переопределениями для URL-адреса.
3. Проверка .htaccess
Ваш файл .htaccess
должен быть правильно настроен для поддержки системы мультисайтов. Убедитесь, что он содержит следующие строки:
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]
4. Проверка разрешений файлов и каталогов
Проверьте, что у файлов и каталогов установлены корректные разрешения. Как указано в вашем описании, разрешения должны быть следующими:
- Директории:
755
- Файлы:
644
.htaccess
иwp-config.php
:444
Вы также можете выполнить команды, указанные в вашем описании, чтобы установить эти разрешения правильно.
sudo find . -type d -exec chmod 755 {} \;
sudo find . -type f -exec chmod 644 {} \;
sudo chmod 444 wp-config.php .htaccess
sudo chmod -R 755 wp-content
sudo chmod -R 775 wp-content/uploads/
5. Проверка конфигурации WordPress
Убедитесь, что ваша конфигурация wp-config.php
корректная и содержит следующие строки для поддержки мультисайтов:
define('WP_ALLOW_MULTISITE', true);
define('SUBDOMAIN_INSTALL', true); // для поддоменов
define('DOMAIN_CURRENT_SITE', 'example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
6. Разрешение проблемы
Другой возможной причиной ошибки 403 может быть неправильная настройка сервера или конфликты в правилах переписывания URL. Убедитесь, что настройки вашего сервера не блокируют доступ к поддоменам.
Заключение
После выполнения всех вышеперечисленных шагов, попробуйте заново получить доступ к панелям администрирования вашего виртуального сайта и поддоменам. Если ошибка 403 сохраняется, возможно, стоит обратиться к логам вашего веб-сервера (например, error.log
в Apache или Nginx), чтобы получить дополнительную информацию о причине проблемы. Также может быть полезно обратиться к поддержке вашего хостинг-провайдера, если вы подозреваете, что проблема на стороне сервера.