GeForester
@GeForester
веб-разработчик

Как заставить nginx интерпретировать html файлы как php?

Имеется сервер nginx+phpfpm.
Файлы с расширением .php отдаются нормально, а в файлах .htm/.html php-код отдается исходным текстом не транслируясь. Как заставить nginx транслировать html файлы с php-кодом?
  • Вопрос задан
  • 10637 просмотров
Решения вопроса 1
@NiGHt_LEshiY
Подсказал в комментарии к вопросу, оформляю как ответ (для тех, кто столкнётся с этой проблемой).

1. nginx должен передавать html-файлы fastcgi-бэкенду. Для этого надо изменить Location, где прописана обработка php-файлов, либо добавить новый Location.
location ~ .(php|html)$ {
 fastcgi_pass ...
 fastcgi_index index.php;
 fastcgi_param ...
 include fastcgi_params;
 }


2. php-fpm по умолчанию отказывается обрабатывать файлы, оканчивающиеся НЕ на ".php"
В php-fpm.conf (или же в конфиг вашего пула, если у вас есть деление на пулы) средует добавить строку:
security.limit_extensions = .php .html
Помните, что это настройка безопасности. Будьте уверены, что подумали о возможных последствиях.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
taliban
@taliban
php программист
А какая вам по сути разница какое расширение у вайла? Вы можете добавить в nginx внутренние редиректы с *.html на *.php
Ответ написан
Ваш ответ на вопрос

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

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