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

заказ разрешить, запретить блокирует весь сайт

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

order allow,deny <Files ~ ".*\.(js|JS|css|CSS|jpg|JPG|gif|GIF|png|PNG|mp4|MP4)$"> allow from all </Files>

Я использую apache 2.2.22 (Debian)

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

Здесь и на других сайтах есть множество сообщений на эту общую тему, но я занимаюсь этим уже 2 или 3 часа, и я не могу решить эту проблему. Прошу прощения, если это кажется очевидным.

Примечание. AllowOverrides определенно включен. Я нашел AllowOverrides во всех каталогах conf и включенных каталогах, и сейчас он везде включен. Я перезапустил службу apache2 после внесения изменений в конфигурацию.

Кто-нибудь может увидеть, что я сделал не так?

Вы можете использовать блокирующую систему на основе env, чтобы разрешить или запретить доступ к вашему сайту:

SetEnvIfNoCase request_uri (js|css|jpg|gif|png|mp4|php|html)$ allowedfiles=1
Order deny,allow
Deny from all
Allow from env=allowedfiles

SetEnvIfNocase нечувствителен к регистру, он соответствует обоим PNG и PNG .

Вы также можете использовать мод-перезапись:

RewriteEngine on
##If the request uri doesnt end with these extensions##
RewriteCond %{REQUEST_URI} !(js|css|jpg|gif|png|mp4|php|html)$ [NC]
##forbid the request##
RewriteRule ^ - [F,L]