Как разрешить доступ к файлам в WordPress через .htaccess: практические решения

WordPress — мощная и гибкая CMS, но для поддержки безопасности и корректной работы сайта часто требуется настраивать правила доступа к файлам и каталогам. В этом поможет файл .htaccess, который позволяет управлять поведением веб-сервера Apache на уровне папок.

Что такое .htaccess и зачем он нужен в WordPress

Файл .htaccess — это конфигурационный файл для Apache, который позволяет задавать правила переадресации, ограничения доступа, обработку ошибок и многое другое. В WordPress он используется по умолчанию для настройки ЧПУ (человеко-понятных URL), но его возможности гораздо шире.

Правильная настройка .htaccess помогает:

  • Защитить важные файлы от прямого доступа;
  • Ограничить доступ к административным разделам;
  • Управлять кэшированием и сжатием;
  • Реализовывать дополнительные правила безопасности.

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

Как ограничить доступ к конфигурационным файлам WordPress через .htaccess

Самое важное — защитить файлы, которые содержат критичные данные или настройки. Например, wp-config.php — главный конфигурационный файл с данными для подключения к базе данных.

Для запрета доступа к этому файлу добавьте в корневой .htaccess следующий код:

# Защита wp-config.php
<files wp-config.php>
    order allow,deny
    deny from all
</files>

Этот блок запрещает всем посетителям загружать wp-config.php через браузер, что предотвращает утечку конфиденциальных данных.

Аналогично можно защитить другие системные файлы, например .htaccess и readme.html:

# Защита .htaccess
<files .htaccess>
    order allow,deny
    deny from all
</files>

# Защита readme.html
<files readme.html>
    order allow,deny
    deny from all
</files>

Как разрешить доступ к папкам с медиафайлами и загрузками

В WordPress папка wp-content/uploads содержит все загруженные медиафайлы. Обычно доступ к ней должен быть открыт для отображения изображений, видео и документов.

Иногда владельцы сайтов сталкиваются с проблемой, когда по ошибке в .htaccess стоит правило, блокирующее доступ к этой папке или к определённым типам файлов. Как исправить?

Чтобы разрешить доступ ко всем файлам в папке загрузок, создайте внутри wp-content/uploads файл .htaccess со следующим содержимым:

Order allow,deny
Allow from all

<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
</IfModule>

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

Пример: как разрешить доступ только к определённым типам файлов в uploads

Если по соображениям безопасности нужно разрешить доступ только к определённым расширениям (например, только изображениям), можно сделать так:

Order deny,allow
Deny from all

<FilesMatch "\.(jpg|jpeg|png|gif|webp|svg)$">
    Order allow,deny
    Allow from all
</FilesMatch>

Этот код запрещает доступ ко всем файлам, кроме перечисленных в регулярном выражении (jpg, jpeg, png, gif, webp, svg).

Как управлять доступом к административным страницам WordPress через .htaccess

Админка WordPress и страницы входа (например, /wp-admin/ и /wp-login.php) — частые мишени для брутфорс-атак. Один из способов повысить безопасность — ограничить доступ к ним по IP-адресу.

Для этого добавьте в файл .htaccess в папке wp-admin следующий код:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Restricted Access"
AuthType Basic
<Limit GET POST>
    order deny,allow
    deny from all
    allow from 123.45.67.89
</Limit>

Где 123.45.67.89 — ваш IP-адрес. Если вам нужно разрешить доступ нескольким IP, просто добавьте их через пробел или добавьте несколько строк allow from.

Такой метод эффективно блокирует чужие попытки попасть в админку.

Как разрешить доступ к определённым файлам плагинов и тем

Некоторые плагины или темы содержат файлы, к которым нужен открытый доступ (например, файлы стилей, скрипты, шрифты), а другие — наоборот, стоит скрыть.

Чтобы разрешить доступ к CSS и JS только в папке темы, можно использовать:

<FilesMatch "\.(css|js)$">
    Order allow,deny
    Allow from all
</FilesMatch>

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

Пример кастомной функции для проверки доступа к файлам в WordPress (wpfreecourses_check_file_access)

Для более гибкого контроля доступа можно написать PHP-функцию в вашем плагине или файле functions.php, которая будет проверять запросы и блокировать нежелательные.

Пример функции, которая запрещает прямой доступ к файлам с расширением .php в папке uploads:

function wpfreecourses_check_file_access() {
    if (strpos($_SERVER['REQUEST_URI'], '/wp-content/uploads/') !== false) {
        $ext = pathinfo($_SERVER['REQUEST_URI'], PATHINFO_EXTENSION);
        if ($ext === 'php') {
            wp_die('Доступ запрещён');
            exit;
        }
    }
}
add_action('init', 'wpfreecourses_check_file_access');

Этот код не позволит запускать PHP-скрипты из папки загрузок, что часто используется злоумышленниками для загрузки вредоносных файлов.

Резюме и лучшие практики настройки доступа через .htaccess

Правильная настройка .htaccess — один из ключевых элементов безопасности и стабильности WordPress-сайта. Помните:

  • Всегда делайте резервные копии файлов перед изменениями;
  • Защищайте конфигурационные и системные файлы от прямого доступа;
  • Открывайте доступ к папкам с медиафайлами и статикой, но при необходимости ограничивайте по типам файлов;
  • Используйте ограничение доступа к административным разделам по IP;
  • Рассмотрите доп. защиту с помощью PHP-функций для проверки доступа к файлам;
  • Тестируйте сайт после внесения изменений, чтобы не допустить ошибок.

Эти практические советы помогут вам грамотно управлять доступом к файлам на вашем WordPress-сайте через .htaccess.

WooCommerce: как автоматически отключить отгрузку заказа после оплаты
19.05.2026
Автоматическое отображение подсказок в WordPress с помощью пользовательского кода и плагинов
22.01.2026
WooCommerce: как автоматически отключать товары после завершения продаж
15.06.2026
Как автоматизировать удаление неиспользуемых медиафайлов в WordPress
05.04.2026
WooCommerce: как автоматически отключать товары после завершения продаж
19.06.2026