@AlexxZhuravlev7

Как запретить по умолчанию все расширения для загрузки в nginx?

У меня такой вопрос, допустим есть такое правило, которое запрещает
доступ к опеределенным файловым расширениям:

location ~* \.(log|tpl|sh)$ {
deny all;
}

А как мне сделать, чтобы запретить все расширения, а потом октрыть для, скажем php и html ?
  • Вопрос задан
  • 357 просмотров
Пригласить эксперта
Ответы на вопрос 3
kotomyava
@kotomyava
Системный администратор
Можно сделать что-то типа такого: \.\w{1,4}$ (это url оканчивающиеся на точку и от одного до 4 символов). Но почему-то мне кажется, что вы не с той стороны подходите к решению задачи просто.
Ответ написан
@BorisKorobkov
Web developer
location ~* \.php$ {
# обработчик php
}

location ~* \.html$ {
}

location ~* . {
   return 404;
}


Но это говнокод. Правильнее в web-папке хранить только index.php, css, js, png, jpg, favicon.ico и robots.txt. А все log, sh и прочее хранить ВНЕ web-папки!
Ответ написан
Комментировать
эээ
deny all; в основной локейшен
А в частных случаях разрешающий по маске
В чем проблемма то?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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