Правило .htaccess FilesMatch для всех подпапок (подпапки были созданы случайным образом) - PullRequest
0 голосов
/ 22 января 2019

Я пытался найти решение здесь, но я не могу.Я работаю с htaccess каждый день, но у меня есть одна проблема, которую я не могу решить.

У меня есть структура каталогов:

/cmd/user_files/**[random_folder]**/avatars/pic.jpg

В /cmd/user_files/ У меня есть несколько папок, которые случайно создаются поверхкакое-то приложение.В каждой случайно созданной папке у меня есть несколько файлов и изображений, к которым я не хочу получать доступ из общего доступа, и у меня есть одна подпапка «аватары», для которой я хочу показать только .jpg

Я создал .htaccess в /cmd/user_files/ и я добавил это:

order allow,deny
deny from all
allow from 127.0.0.1

С этим я запрещаю доступ ко всем файлам и подпапкам в /cmd/user_files/.

Теперь, что мне нужно добавить к этому .htaccess что я могу показать .jpg из

/cmd/user_files/[random_folder]/avatars/*.jpg

1 Ответ

0 голосов
/ 23 января 2019

Вместо использования mod_auth ... может быть проще использовать mod_rewrite. Например, в файле /cmd/user_files/.htaccess:

RewriteEngine On
RewriteRule !^[^/]+/avatars/.*\.jpg$ - [F]

Блокирует (403 запрещенный) доступ ко всем файлам / папкам, кроме URL-пути, соответствующего регулярному выражению ^[^/]+/avatars/.*\.jpg$ (относительно подкаталога /cmd/user_files/).

ОБНОВЛЕНИЕ: Обратите внимание на префикс ! на шаблоне RewriteRule - это отменяет регулярное выражение. Это оператор Apache, он не является частью самого регулярного выражения.

Примечание ... order allow,deny - это директивы Apache 2.2. Если вы используете Apache 2.4+, синтаксис другой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...