Вызов PHP кода в HTML документах на веб-севере NGINX
28 Feb 2017 | Автор: dd |Иногда бывает необходимо запустить PHP код в HTML файлах. Особенно это актуально если торгуешь ссылочками в сапе или её ином аналоге.
В веб-сервере Apache это делается добавлением текстовой строки AddHandler в .htaccess
AddHandler application/x-httpd-php .php .htm .html
но к сожалению NGINX не понимает .htaccess и все настройки у него приходится производить через конфиг.
Поэтому придется немного подправить конфиг. За основу я взял конфиг из мануала по установке NGINX и PHP-FPM но нам от него интересна только часть описывающая работу PHP, поэтому я процитирую только её
##### vi /etc/nginx/conf.d/site.ru.conf
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
##########################################
собственно в ней мы и прописываем, что используем не только php, но и другие расширения файлов, приводя эту секцию к следующему виду
##### vi /etc/nginx/conf.d/site.ru.conf
location ~ \.(php|html|htm) {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index (index.html|index.php|index.htm);
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
##########################################
но помимо этого нам надо поменять директиву security.limit_extensions в файле /etc/php-fpm.d/www.conf поскольку она по умолчанию закомментирована и позволяет выполнять только php файлы. Для этого открываем файл конфига PHP-FPM и приводим строку к следующему виду:
security.limit_extensions = .php .php3 .php4 .php5 .html .htm
после чего рестартим оба сервиса
# service nginx restart
# service php-fpm restart
и видимо что у нас PHP код начинает корректно отрабатываться в виде вызовов из HTML файлов.
Вызов PHP кода в HTML документах на веб-севере NGINX,
Автор:serg на 04 Jan 2018
помогло пасиб
[Reply]
Автор:Валерий на 04 Feb 2018
Спасибо, помогли.
[Reply]
Автор:Владимир на 17 Sep 2019
Спасибо, как раз то что искал, на Apache завёл, а на Nginx сейчас попробую.
Еще узнать бы как перенаправить определенные запросы…
[Reply]