首页 > 解决方案 > 如何将 HTML 解析为 PHP?

问题描述

我在 Heroku 上使用 Apache2,我正在尝试将 HTML 解析为 PHP,因此我可以在 HTML 文件中包含文件并正常使用 HTML,因此我不必复制粘贴导航器和其他内容,例如页脚彼此的 html 文件。这使工作更容易。

 

我尝试查找内容,使 .htaccess 和 httpd.conf 工作,但是到目前为止我所做的一切都不起作用。它目前的作用是让我下载 .html。

这些是我当前的设置:

AddHandler x-httpd-php .html .htm 
AddType application/x-httpd-php .html .htm

我 AddType 开始导致 .html 下载。

在 httpd.conf 我有这个:

AddHandler 应用程序/x-httpd-php .htm .html

<Files />
    AddType application/x-httpd-php .html
</Files>

更新:

我已经要求 Heroku 支持,但是,他们不支持这些东西……嗯……

所以,我发现 Heroku 拥有的 buildpacks,这个:https ://github.com/heroku/heroku-buildpack-php

在 support 中有一个文件夹,其中包括:

https://github.com/heroku/heroku-buildpack-php/tree/master/support/build/_conf/apache2

我无法访问的 httpd.conf,因为它显然是从那里构建的。但是我可以删除那个 buildpack 并用我的替换它。问题是构建包的工作方式是这样的

他们有一个 bin 文件夹,里面有一个编译器,当我分叉它时,它仍然从他们的存储库中编译它。

我需要有人帮我分叉它并基本上修改它,使它根本不加载 httpd.conf,这样我就可以包含我的并用它做一些事情。

更新:

我现在只是在使用 PHP,因为我无法更改它,它在 heroku 方面或来自 heroku 的 buildpack。

标签: phphtmlapacheconfiguration

解决方案


您的AddType似乎没问题:

AddType application/x-httpd-php .html .htm

有时需要指明 PHP 版本:

AddType application/x-httpd-php5 .html .htm

或者对于 PHP 7:

AddType application/x-httpd-php7 .html .htm

另一种解决方案是删除 html 处理程序:

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html

另一种解决方案:

<FilesMatch "\.html$">
    ForceType application/x-httpd-php
</FilesMatch>

不要忘记重新启动服务器以查看结果!


推荐阅读