У меня есть это правило в корневом файле .htaccess:
# DENY ACCESS TO EVERYTHING INSIDE PHP DIRECTORY
RewriteCond %{HTTP_REFERER} !^http://(www\.)?someurl [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?someurl.*$ [NC]
RewriteRule ^php - [F]
Он запрещает доступ ко всем файлам внутри каталога «php», если доступ к ним осуществляется за пределами моего сервера.
Как добавить одно конкретное исключение для файла, назовем этот файл «_sharer-socnets.php», используя приведенную выше логику RewriteCond
/RewriteRule
?
Чтобы запретить все файлы, кроме одного, вы можете использовать это правило:
# DENY ACCESS TO EVERYTHING INSIDE PHP DIRECTORY
RewriteCond %{HTTP_REFERER} !^http://(www\.)?someurl [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?someurl.*$ [NC]
RewriteCond %{REQUEST_URI} !/_sharer-socnets\.php$ [NC]
RewriteRule ^php - [F,NC]
Извините, в моем ответе была опечатка, которую я только что исправил. Пожалуйста, попробуйте еще раз
Не работает, я получил сообщение об ошибке «Внутренняя ошибка сервера. На сервере произошла внутренняя ошибка или неверная конфигурация, и он не смог выполнить ваш запрос». Похоже, он блокирует АБСОЛЮТНО ВСЕ, потому что даже если я попытаюсь загрузить index.php, вылезет та же ошибка.