403 Forbidden WordPress: что значит ошибка и как исправить

Акция Оценка0
Акция Оценка0

403 Forbidden WordPress означает, что сервер понял запрос, но отказался показывать страницу или файл. Обычно это связано с правами доступа, правилами безопасности, ошибкой в .htaccess, плагином защиты, настройками хостинга, Apache, Nginx или CDN.

Ошибка может появляться на всём сайте, только в админке WordPress, на одной странице, при загрузке файлов, при открытии wp-login.php или после переноса сайта на другой хостинг.

Quick Fix

  • Откройте сайт в режиме инкогнито и проверьте другую сеть.
  • Переименуйте файл .htaccess в .htaccess_old.
  • Для WordPress создайте новый стандартный .htaccess.
  • Отключите плагины безопасности и firewall-плагины.
  • Проверьте права доступа: папки — 755, файлы — 644.
  • Проверьте владельца файлов на сервере.
  • Убедитесь, что в папке сайта есть index.php.
  • Проверьте блокировки IP в WordPress, Cloudflare, WAF или панели хостинга.
  • Посмотрите error logs в панели хостинга или на сервере.

Что означает 403 Forbidden в WordPress

403 Forbidden — это HTTP-ошибка доступа. Она означает, что сервер получил запрос, понял его, но не разрешил доступ к запрошенному ресурсу.

В WordPress это может означать, что сервер запрещает доступ к странице, файлу, папке, админке или PHP-скрипту.

Ошибка может выглядеть так:

  • 403 Forbidden
  • Forbidden
  • You don't have permission to access this resource
  • Access Denied
  • HTTP Error 403
  • Nginx 403 Forbidden
  • Apache 403 Forbidden
  • Cloudflare 403 Forbidden

Важно: 403 не всегда означает, что сайт сломан. Часто сервер просто блокирует конкретный путь, IP-адрес, файл, папку или действие.

Основные причины 403 Forbidden WordPress

1. Неправильные права доступа к файлам и папкам

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

Обычно безопасная схема такая:

Папки: 755
Файлы: 644
wp-config.php: 600 или 640, если поддерживает хостинг

Права 777 не стоит использовать как постоянное решение. Они небезопасны и могут вызвать блокировку на некоторых хостингах.

2. Повреждённый файл .htaccess

Файл .htaccess может содержать правила, которые запрещают доступ к сайту, админке, изображениям, REST API или отдельным папкам.

Проблема часто появляется после:

  • настройки редиректов;
  • установки SSL-плагина;
  • установки security-плагина;
  • ручного изменения .htaccess;
  • переноса сайта;
  • восстановления из бэкапа.

3. Плагин безопасности заблокировал доступ

Плагины безопасности могут блокировать IP-адреса, страны, подозрительные запросы, страницу входа или REST API.

Часто это делают:

  • Wordfence;
  • iThemes Security;
  • Sucuri Security;
  • All-In-One Security;
  • Shield Security;
  • Limit Login Attempts;
  • плагины изменения URL входа.

Если ошибка появилась после настройки защиты, начните именно с этих плагинов.

4. IP-адрес заблокирован

Ваш IP может быть заблокирован WordPress-плагином, Cloudflare, firewall на сервере или хостингом.

Признак: сайт не открывается только у вас, но работает с мобильного интернета или через другую сеть.

5. Нет index.php или index.html

Если сервер открывает папку, но внутри нет индексного файла, он может показать 403 Forbidden.

Для WordPress в корне сайта должен быть файл:

index.php

Если он удалён, повреждён или находится не в той папке, сайт может не открываться.

6. Неправильный DocumentRoot

Если Apache или Nginx смотрит не в ту папку сайта, сервер может показывать 403. Например, WordPress лежит в public_html, а сервер настроен на пустую папку выше.

После миграции сайта это одна из частых причин.

7. Ошибка в настройках Nginx

В Nginx 403 может появиться, если неправильно указан root, нет index.php, запрещён доступ к папке или PHP-запросы не передаются в PHP-FPM.

Проблемные места:

  • root;
  • index;
  • location;
  • deny all;
  • try_files;
  • настройки PHP-FPM.

8. Ошибка в настройках Apache

В Apache 403 часто связан с неправильным блоком <Directory>, директивой Require all denied, отключённым AllowOverride или неправильным DocumentRoot.

Для WordPress обычно нужен доступ:

<Directory /var/www/example.com/public_html>
    AllowOverride All
    Require all granted
</Directory>

9. Cloudflare или WAF блокирует запрос

Если сайт подключён к Cloudflare, ошибка может быть не на сервере, а на уровне CDN или firewall rules.

Cloudflare может заблокировать:

  • IP-адрес;
  • страну;
  • подозрительный User-Agent;
  • запрос к wp-login.php;
  • запрос к XML-RPC;
  • REST API;
  • админские AJAX-запросы.

10. Ошибка после миграции сайта

После переноса WordPress на другой хостинг 403 часто появляется из-за прав доступа, владельца файлов, неправильной папки сайта, старого .htaccess или несовместимых правил безопасности.

Как исправить 403 Forbidden WordPress

1. Проверьте, ошибка у всех или только у вас

Откройте сайт:

  • в режиме инкогнито;
  • с другого браузера;
  • с телефона через мобильный интернет;
  • через другую Wi-Fi сеть;
  • без VPN.

Если сайт работает через мобильный интернет, но не работает через ваш Wi-Fi, вероятно, заблокирован ваш IP или проблема в локальной сети.

2. Переименуйте .htaccess

Подключитесь к сайту через файловый менеджер хостинга, FTP/SFTP или SSH.

В корневой папке WordPress найдите:

.htaccess

Переименуйте его:

.htaccess_old

Проверьте сайт. Если ошибка исчезла, проблема была в правилах .htaccess.

3. Создайте новый .htaccess для WordPress

Для стандартного WordPress используйте:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Если админка открывается, можно сделать проще:

Настройки → Постоянные ссылки → Сохранить изменения

WordPress пересоздаст правила автоматически.

4. Отключите плагины безопасности

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

Откройте:

wp-content/plugins

Переименуйте папку подозрительного плагина:

wordfence → wordfence_old

Если не знаете, какой плагин виноват, временно переименуйте всю папку:

plugins → plugins_old

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

5. Проверьте права доступа

Если у вас есть SSH, можно быстро исправить права.

Для папок:

find /path/to/site -type d -exec chmod 755 {} \;

Для файлов:

find /path/to/site -type f -exec chmod 644 {} \;

Для wp-config.php:

chmod 600 wp-config.php

Если сайт не может прочитать файл, используйте:

chmod 640 wp-config.php

На некоторых shared-хостингах может потребоваться 644.

6. Проверьте владельца файлов

На VPS проблема может быть не только в правах, но и во владельце файлов.

Проверьте:

ls -la

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

Для Apache/Nginx на Ubuntu часто используется пользователь www-data:

sudo chown -R www-data:www-data /var/www/example.com

Но на некоторых серверах правильный владелец — не www-data, а пользователь аккаунта. Если вы не уверены, проверьте настройки хостинга.

7. Проверьте наличие index.php

В корневой папке WordPress должен быть файл:

index.php

Если его нет, восстановите файл из свежего архива WordPress или бэкапа.

Стандартный index.php WordPress выглядит примерно так:

<?php
define('WP_USE_THEMES', true);
require __DIR__ . '/wp-blog-header.php';

8. Проверьте настройки Apache

Если у вас VPS с Apache, проверьте конфигурацию сайта.

Пример правильного блока:

<Directory /var/www/example.com/public_html>
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

После изменения проверьте Apache:

sudo apachectl configtest

Примените изменения:

sudo systemctl reload apache2

9. Проверьте настройки Nginx

Для WordPress на Nginx базовый блок должен содержать правильный root, index и try_files.

Пример:

server {
    listen 80;
    server_name example.com www.example.com;

    root /var/www/example.com/public_html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    }
}

Проверьте Nginx:

sudo nginx -t

Примените изменения:

sudo systemctl reload nginx

10. Проверьте Cloudflare и firewall

Если сайт подключён к Cloudflare, откройте:

Security → Events

Проверьте, не блокируются ли ваши запросы.

Также проверьте:

  • Firewall Rules;
  • WAF rules;
  • IP Access Rules;
  • Bot Fight Mode;
  • Rate Limiting;
  • правила для wp-login.php и wp-admin.

Если ваш IP заблокирован, удалите блокировку или добавьте IP в allowlist.

403 Forbidden только в админке WordPress

Если сайт открывается, но /wp-admin/ или wp-login.php показывает 403, причина часто в защите входа.

Проверьте:

  • плагины безопасности;
  • плагины изменения URL входа;
  • блокировку IP;
  • правила в .htaccess;
  • Cloudflare firewall rules;
  • ModSecurity на хостинге;
  • ограничения по стране.

Быстрый тест — отключить security-плагин через файловый менеджер.

403 Forbidden при загрузке изображений

Если ошибка появляется при загрузке медиафайлов в WordPress, проверьте папку:

wp-content/uploads

Для неё обычно нужны права:

755

Также проверьте владельца папки. WordPress должен иметь право создавать внутри неё новые файлы и папки.

Если проблема появляется только с определёнными файлами, проверьте:

  • размер файла;
  • расширение файла;
  • ограничения хостинга;
  • ModSecurity;
  • плагины безопасности;
  • запрет SVG, ZIP или других форматов.

403 Forbidden после миграции WordPress

После переноса сайта проверьте такой порядок:

  1. Файлы WordPress находятся в правильной папке.
  2. В корне есть index.php.
  3. Права папок — 755.
  4. Права файлов — 644.
  5. Владелец файлов правильный.
  6. .htaccess не содержит старых правил.
  7. Apache/Nginx смотрит в правильный DocumentRoot.
  8. Cloudflare DNS указывает на новый сервер.
  9. Нет блокировки IP или страны.

403 Forbidden в Nginx

Если ошибка идёт от Nginx, проверьте error log:

sudo tail -n 100 /var/log/nginx/error.log

Частые причины:

  • неправильный root;
  • нет index.php;
  • нет права execute на папку;
  • запрещающий блок deny all;
  • неправильный location;
  • PHP-FPM не обрабатывает PHP-файлы;
  • сайт находится не в той папке.

403 Forbidden в Apache

Если ошибка идёт от Apache, проверьте:

sudo tail -n 100 /var/log/apache2/error.log

Частые причины:

  • Require all denied;
  • нет Require all granted;
  • неправильный Directory блок;
  • отключён AllowOverride;
  • ошибка в .htaccess;
  • права доступа слишком строгие;
  • нет индексного файла.

Advanced Troubleshooting

Проверьте ModSecurity

На shared-хостинге 403 часто вызывает ModSecurity. Он может блокировать запросы к админке, сохранение страниц, загрузку файлов или работу REST API.

Признаки:

  • 403 появляется при сохранении записи;
  • 403 появляется при загрузке файла;
  • 403 появляется только в админке;
  • 403 появляется после отправки формы;
  • обычные страницы сайта открываются нормально.

В этом случае обратитесь в поддержку хостинга и попросите проверить сработавшее ModSecurity rule ID.

Проверьте запреты в .htaccess

Ищите строки вроде:

Deny from all
Require all denied
Order deny,allow
deny from all

Они могут блокировать доступ ко всему сайту или отдельным папкам.

Проверьте hotlink protection

Защита от хотлинкинга может блокировать изображения, CSS, JS или медиафайлы. Если сайт выглядит сломанным или изображения дают 403, проверьте настройки hotlink protection в хостинге, Cloudflare или security-плагине.

Проверьте REST API

Если WordPress работает, но редактор Gutenberg показывает ошибки, проблема может быть в блокировке REST API.

Проверьте URL:

https://example.com/wp-json/

Если он даёт 403, проверьте security-плагины, Cloudflare, WAF и .htaccess.

Проверьте XML-RPC

Некоторые плагины и хостинги блокируют xmlrpc.php. Это может быть нормально для безопасности, но иногда ломает Jetpack, мобильное приложение WordPress или внешние интеграции.

Проверьте, действительно ли вам нужен XML-RPC перед разблокировкой.

Проверьте SELinux

На CentOS, AlmaLinux и Rocky Linux 403 может быть связан с SELinux.

Проверьте статус:

getenforce

Если включён Enforcing, проверьте контексты:

ls -Z

Для веб-файлов обычно нужен корректный httpd-контекст. Если вы не уверены, лучше обратиться к администратору сервера.

Что нельзя делать при 403 Forbidden

  • Не ставьте 777 на весь сайт.
  • Не удаляйте wp-content.
  • Не отключайте все защитные правила навсегда без проверки.
  • Не удаляйте .htaccess без копии.
  • Не меняйте одновременно права, плагины, DNS и серверные настройки.
  • Не разблокируйте XML-RPC, если он вам не нужен.
  • Не отключайте WAF полностью, если можно исправить одно правило.

Как предотвратить 403 Forbidden WordPress

  • Держите права папок 755, файлов 644.
  • Не используйте 777 как постоянное решение.
  • Делайте копию .htaccess перед изменениями.
  • Не устанавливайте несколько security-плагинов одновременно.
  • Проверяйте Cloudflare firewall rules после изменений.
  • Не блокируйте страны или IP без необходимости.
  • После миграции проверяйте владельца файлов.
  • Следите за error logs.
  • Проверяйте сайт после обновления плагинов безопасности.

Когда обращаться в поддержку хостинга

Обратитесь в поддержку, если:

  • 403 появился внезапно без ваших изменений;
  • вы не можете открыть файловый менеджер или FTP;
  • вы не знаете правильного владельца файлов;
  • ошибка связана с ModSecurity;
  • сайт работает у других, но не у вас;
  • после исправления прав ошибка остаётся;
  • Apache или Nginx настроен на стороне хостинга;
  • 403 появился после миграции сайта.

Перед обращением подготовьте домен, скрин ошибки, URL страницы с 403, время появления проблемы и список последних изменений на сайте.

FAQ

Что значит 403 Forbidden WordPress?

Это значит, что сервер запретил доступ к странице, файлу, папке или админке WordPress. Причина может быть в правах доступа, .htaccess, security-плагине, firewall, Cloudflare, Apache, Nginx или настройках хостинга.

Как быстро исправить 403 Forbidden в WordPress?

Сначала переименуйте .htaccess, затем отключите security-плагины и проверьте права доступа. Для папок обычно нужны 755, для файлов — 644.

Почему 403 появляется только в wp-admin?

Чаще всего админку блокирует security-плагин, Cloudflare, WAF, ModSecurity, ограничение по IP или правило в .htaccess.

Может ли Cloudflare вызвать 403 Forbidden?

Да. Cloudflare может блокировать запросы по firewall rules, WAF, IP Access Rules, Bot Fight Mode, country blocking или rate limiting.

Почему после миграции WordPress показывает 403?

После переноса часто ломаются права доступа, владелец файлов, .htaccess, DocumentRoot или настройки Apache/Nginx. Также DNS может указывать на неправильный сервер.

Вывод

403 Forbidden WordPress означает, что сервер запрещает доступ. Чаще всего причина в .htaccess, правах файлов, security-плагинах, блокировке IP, Cloudflare, WAF или неправильной конфигурации Apache/Nginx.

Лучший порядок действий: проверить сайт с другой сети, отключить .htaccess, проверить плагины безопасности, выставить правильные права и посмотреть error logs. Не ставьте 777 на весь сайт — это опасно и редко решает настоящую причину.

«`

admin
big24money.com
Logo
Сравнить элементы
  • Total (0)
Сравнить
0