首页 > 解决方案 > AddType application/x-httpd-php .html

问题描述

我正在从使用 PHP 5 的服务器转移到使用 PHP 7 的新服务器,并且在告诉 Apache 将 .html 解析为 PHP 脚本时遇到问题。

在我的 .htaccess 文件中,这一行在我当前的服务器上使用 PHP 5 正常工作:

AddType application/x-httpd-php .html

但在新服务器上,该指令会下载任何 .html 文件,而不是作为 PHP 脚本执行。

我知道在安装了 PHP 5 的当前服务器上,PHP 的 API 配置为“Apache 2.0 处理程序”,而在这个新服务器上,它被配置为“FPM/FastCGI”,我想这可能是问题所在?如果是这样,我怎样才能克服它而不必更改该 API 设置?

我期待着您的回音。预先感谢您的任何帮助!

标签: phpapache.htaccess

解决方案


经过数小时的研究,我最终阅读了此页面:

https://www.digitalocean.com/community/questions/php-fpm-security-limit_extension-issue

我通过在 .htaccess 中添加以下代码解决了这个问题:

<FilesMatch ".+\.html$">
        SetHandler "proxy:unix:/run/php/php7.0-fpm-[myhostname].sock|fcgi://localhost"
</FilesMatch>

为了避免服务器给我一个“拒绝访问”错误,我不得不将这一行放在 /etc/php/7.0/fpm/php-fpm.conf 中:

security.limit_extensions = .php .htm .html .inc .rss .rdf .xhtml

然后使用以下命令重新启动 PHP 守护进程:

service php7.0-fpm restart

现在一切似乎都运行良好!我会说相当复杂,我认为这是因为 PHP 配置了 FPM/FastCGI API。

欢迎评论和想法!

再次感谢大家。


推荐阅读