Задать вопрос
RomanOracool
@RomanOracool
Иногда пока жена не видит, я делаю сайты.

500 ошибка при доступе к файлу?

VPS на Debian9 + Apache + Nginx + MyVestaCP + PHP-FPM8

На сервере есть папка в которую пользователи грузят файлы, в общем некая /upload/
В папке лежит .htaccess со следующим содержанием:
php_flag engine off
AddType "text/html" .php .cgi .pl .fcgi .fpl .phtml .shtml .php2 .php3 .php4 .php5 .asp .jsp

В таком виде скрипты действительно не выполняются (что ожидаемо), но вылезает при этом 500 ошибка! То есть вторая директива вообще не работает (я ожидаю вывод текста скрипта на экран).
Далее. Убираю вторую строку и результат тот же - опять 500.
Далее ещё более не понятно. Я пытаюсь обратиться к файлу temp.xml который лежит в этой папке и опять 500.
В след за второй, убираю первую строку (т. е. вообще всё по сути) и после этого и php и xml файлы открываются. Файлы например такие как doc, jpg, gif, webp открываются из этой папки без проблем.

Подозреваю, что где-то запрет (или нет разрешения) на некоторые расширения файлов прописаны, но где?
  • Вопрос задан
  • 80 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    1C-программист: расширенный курс
    18 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Skillbox
    Профессия 1С-программист
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Zheleznov
@Zheleznov
#/ Front / Back / DevOps /#
На сколько я помню в PHP-FPM8 не поддерживаются директивы php_flag и AddType
А Nginx вообще htaccess игнорит если запросы через него

Но как вариант можно заменить htaccess на
<FilesMatch "\.(php|cgi|pl|fcgi|fpl|phtml|shtml|php2|php3|php4|php5|asp|jsp)$">
    Require all denied
</FilesMatch>


Ну и можно запретить выполнять файлы (указав директорию)
php_admin_flag engine Off
Ответ написан
Ваш ответ на вопрос

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

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