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

|

Диагностика проблемы: почему нужен запрет доступа к файлам в медиабиблиотеке

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

Проверить, открывается ли файл напрямую, можно, вставив URL файла в браузере. Если файл загружается без авторизации — проблема подтверждена.

Базовое решение: запрет прямого доступа через .htaccess

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

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/ [NC]
RewriteRule \.(jpg|jpeg|png|gif|pdf|docx)$ - [F,NC]

Замените example.com на домен вашего сайта. Этот код блокирует прямой доступ ко всем файлам с расширениями jpg, png, gif, pdf, docx, если запрос пришёл не с вашего сайта (например, с другого сайта, пытающегося встраивать ваши файлы).

Как сделать защиту от неавторизованных пользователей

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

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*$ - [F,L]

Этот код проверяет наличие куки авторизации WordPress. Если пользователь не залогинен, доступ к любым файлам будет запрещён.

Пошаговое руководство по внедрению

  1. Подключитесь к серверу по FTP или через файловый менеджер хостинга.
  2. Перейдите в папку wp-content/uploads.
  3. Если файла .htaccess нет — создайте его. Если есть — откройте для редактирования.
  4. Вставьте один из предложенных выше блоков кода, в зависимости от задачи.
  5. Сохраните изменения и загрузите файл обратно на сервер.
  6. Очистите кэш сайта и браузера.

Проверка результата

Частые ошибки и как их исправить

Практические советы по безопасности и производительности

Таблица сравнения вариантов защиты медиабиблиотеки

МетодПреимуществаНедостаткиПример
Защита по HTTP_REFERERПростая, блокирует хотлинкингРеферер можно подделать; не защищает от прямого доступаRewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com/ [NC]
Защита по куки авторизацииЗащищает от неавторизованныхНужна правильная проверка кук; не работает при отключенных кукахRewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
Настройка на уровне сервера/CDNБыстрая и гибкаяТребует доступа к серверу или CDN настройкамПравила в Nginx или Cloudflare
Как использовать хуки для автоматического изменения стоимости товаров WooCommerce
30.05.2026
Как заблокировать доступ к файлам в медиабиблиотеке WordPress через .htaccess
15.05.2026
Как создать динамический список с постами WordPress с использованием AJAX
18.03.2026
Как использовать хуки в WordPress для автоматизации задач
26.11.2025
Как создать свой шорткод в WordPress: практические примеры и советы
01.11.2025
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше