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

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

заказ разрешить, запретить <Файлы ~ ". * \. (Js | JS | css | CSS | jpg | JPG | gif | GIF | png | PNG | mp4 | MP4) $"> разрешить от всех

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

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

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

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

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

1
задан 22 March 2016 в 03:32
1 ответ

Вы можете использовать систему блокировки на основе 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]
0
ответ дан 4 December 2019 в 06:31

Теги

Похожие вопросы