Я не могу заставить работать блокировку файлов . Если я использую следующий оператор в .htaccess, он блокирует весь мой сайт:
заказ разрешить, запретить
<Файлы ~ ". * \. (Js | JS | css | CSS | jpg | JPG | gif | GIF | png | PNG | mp4 | MP4) $">
разрешить от всех
Я использую 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]