Как заблокировать доступ к файлам в медиабиблиотеке 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
Как создать динамический каталог товаров на WordPress с фильтрами и AJAX
18.12.2025
Как создать уникальные URL для товаров в WooCommerce: практические решения
09.01.2026
Как использовать WP-Cron для решения проблем с задачами в WordPress
04.12.2025
Как использовать WPRemark для автоматических отзывов в WordPress: подробное руководство
21.03.2026
Как создать автоматические списки в WordPress с помощью PHP и JavaScript
11.03.2026
×

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

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

пишет статьи

готовит SEO

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

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