Как ограничить доступ к файлам для пользователей, но не для хоста?

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

<FilesMatch ~ ".(php|htm|html|js)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>

Но это так же запрещает и моим скриптам взаимодействовать с файлами. Ajax-запросы выдают 500 ошибку и не могут получить результат из файлов. Пытался добавить условие блокировки (всем кроме моего хоста), но это тоже не сработало: Allow from %{SERVER_ADDR}, как и просто написать ip сервера вместо %{SERVER_ADDR}.

<FilesMatch ~ ".(php|htm|html|js)$">
 Order Allow,Deny
 Deny from all
 Allow from %{SERVER_ADDR}
</FilesMatch>

Ранее уже задавали похожий вопрос, но при попытке выполнить ajax уже с этим кодом в .htaccess, результата также нет, но ошибка теперь не 500, а 404.

Options -MultiViews +FollowSymLinks  
RewriteEngine On    
RewriteCond %{REMOTE_ADDR} !%{SERVER_ADDR}[NC]  
RewriteRule ^(.*)$ /error404.html [L,R=404]  

В файлах .htaccess не сильно разбираюсь, но хотел бы понять как разрешить эту проблему? Чтобы доступ к файлам в папке был только с моего хоста и только из моих скриптов?


Ответы (0 шт):