Назад | Перейти на главную страницу

Как исключить файл из директивы Apache limit

В настоящее время у нас есть файл .htaccess, который выглядит как

<Limit GET POST>
order deny, allow
deny from all
allow from localhost
allow from ...
</Limit>

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

(Я не уверен, какова цель Limit директива здесь. Он позволяет всем клиентам использовать следующие HTTP-методы: PUT, DELETE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK и UNLOCK. Разве вы не хотели бы ограничить все методы, а не только GET и POST?)

Вы можете использовать Files (или FilesMatch) такие директивы:

<Files "foo.html">
    allow from all
</Files>

Используйте mod_rewrite и флаг [F]:

RewriteEngine On
RewriteCond %{REMOTE_ADDR}  !127.0.0.1
RewriteCond %{REMOTE_ADDR}  !192.168.0.1
RewriteRule !^foo$ - [F]