Задать вопрос
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 открываются из этой папки без проблем.

Подозреваю, что где-то запрет (или нет разрешения) на некоторые расширения файлов прописаны, но где?
  • Вопрос задан
  • 53 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
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
Ответ написан
@Everything_is_bad
никогда не было и вот опять, 500 просто говорит что есть ошибка на сервере, открывай логи вебсервера и читай что именно за ошибка, только так ты узнаешь реальную проблему
Ответ написан
Ваш ответ на вопрос

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

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