php - 添加类型应用程序/x-httpd-php .html

标签 php apache .htaccess

我正从一台装有 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 Handler”,而在这个新服务器上它配置为“FPM/FastCGI”,我想这可能是问题所在?如果是这样,我该如何在不更改 API 设置的情况下克服它?

期待您的来信。提前感谢您的帮助!

最佳答案

经过几个小时的研究,我最终阅读了这个页面:

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。

欢迎提出意见和想法!

再次感谢大家

关于php - 添加类型应用程序/x-httpd-php .html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57861812/

相关文章:

php - 为什么在使用 PHP 和 MySQL 的浏览器上不显示字母 'ST'

php - zend 和 htaccess 的问题

ruby-on-rails - 如何为 ruby​​ on rails 创建 .htaccess?

php - 在 .htaccess 中设置环境变量并在 PHP 中检索它

php - Windows 上的 Apache/PHP 因正则表达式而崩溃

apache - Windows - Apache 和 OpenSSL。获得评级 F

regex - 使用 HTTP_HOST 来识别识别以前的主机名

php - 可以把js和css放到public文件夹外吗?

javascript - 在另一个页面上克隆整个 div 容器

php - 从关系中的另一个表获取 id laravel