在.html或.htm文件中使用php代码

在.html或.htm文件中使用php代码,php,apache,Php,Apache,我加了一行 AddType application/x-httpd-php .html 但我仍然无法在.html文件中获取要解析的php脚本。我做错了什么 将此信息添加到中的配置文件是否错误?我知道这不完全是您需要的,但您可以使用Apache重写引擎将其伪造为HTML文件,用户可以这样调用 RewriteEngine ON RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^((.+)\.(html|htm))$ ($2).php [L] 我还认为

我加了一行

AddType application/x-httpd-php .html
但我仍然无法在.html文件中获取要解析的php脚本。我做错了什么


将此信息添加到中的配置文件是否错误?

我知道这不完全是您需要的,但您可以使用Apache重写引擎将其伪造为HTML文件,用户可以这样调用

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^((.+)\.(html|htm))$ ($2).php [L]
我还认为这是一个很好的安全点,如果您忘记了,就不要将
.html
作为PHP脚本运行 您已经配置了这个,或者可以使用它将HTML上传到您的服务器。
(不要将apache配置为在文件系统上运行文件,并将
.html
作为PHP文件。)

某些web主机需要这两个指令。试试这个:

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

如果您的entre站点不需要此选项,则强烈建议使用.htaccess按每个文件/目录执行此操作。

您可以使用.htaccess:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$.html $1.php [L]
RewriteRule ^(.*)$.htm $1.php [L]

所使用的处理程序可能略有不同

我建议将通过PHP文件作为最后手段,因为这可以用较少的努力来解决,这是一种蛮力方法

下面是一些非常常见的变化,但可能还有更多

    AddType application/x-httpd-php

    AddType application/x-httpd-php5

    AddHandler application/x-httpd-php

    AddHandler application/x-httpd-php5

如前所述,可能需要AddType和AddHandler的组合。

这与“windows-8”有什么关系?那么,您具体将其放在了哪个配置文件中?如果
httpd.conf
,是否有人忘记重新启动服务器?是的,请删除windows 8标记;也许正确添加apache标记可以得到更多的答案,因为跟随这些标记的人更可能看到这个问题。更改配置后是否重新启动了Apache?是否安装了PHP模块?为什么要将PHP放入HTML文件中?将HTML放入PHP文件中,或者使用
.htaccess
RewriteRule
来“屏蔽”文件扩展名,如果您不想宣传您正在使用PHP的事实。