Инструкция для хостинга nic.ru (RU Center). Часть инструкции на их сайте.
Все действия вы совершаете на свой страх и риск. Неверная конфигурация файла настроек может привести к неработоспособности сервера. Поэтому сделайте бэкап перед изменением!
1. Для начала нужно перевести веб-сервер в ручной режим настройки:
▶ ▶ ▶ ▶
2. Подключаемся к серверу по ssh и редактируем файл конфигурации Apache (нужно добавить правило):
~/etc/httpd/php80/dentnt.trmw.ru.conf
<Directory /home/h909215653/dentnt.trmw.ru/docs/wp-content/uploads>
AllowOverride All
</Directory>
Здесь у меня php80, т.к. в данный момент на хостинге активен именно php 8.0, если у вас версия 7.2, то выбираете конфигурационный файл из другой папки, например ~/etc/httpd/php72/.
Т.к. данная директива отключает nginx, то вся нагрузка ложится на плечи Apache, что может привести к значительному потреблению ресурсов. Из-за этого не рекомендуется отключать nginx для корневой папки, а нужно ограничиться конкретным каталогом (в нашем случае это папка uploads).
3. Чтобы применить изменения, нажимаем кнопку
4. Отключаем nginx, чтобы запустить обработку правил Apache, для этого в папке Uploads вашего сайта WordPress создаём файл .htaccess:
docs/wp-content/uploads/.htaccess
# verify presence of mod rewrite
<IfModule mod_rewrite.c>
RewriteEngine on
# Disable nginx
Allow from all
# allow all requests from your domain
RewriteCond %{HTTP_REFERER} !^https://dentnt\.trmw\.ru/ [NC]
# search engine access
# include or remove search engines feed readers and other sites
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !yandex\. [NC]
# everybody else receives a forbidden
RewriteRule \.(gif|png|jpeg|jpg|svg)$ - [F]
</IfModule>
Я специально оставил комментарии и строчки с поисковиками, чтобы было более понятно.