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

时间:2012-11-05 21:25:38

标签: php apache

我添加了

AddType application/x-httpd-php .html

到我的Apache Config文件,但我仍然无法在.html文件中获取php脚本来解析。我做错了什么?

这是用于将此信息添加到?

的错误配置文件

4 个答案:

答案 0 :(得分:2)

您可以使用.htaccess:

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

答案 1 :(得分:2)

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

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

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

    AddType application/x-httpd-php

    AddType application/x-httpd-php5

    AddHandler application/x-httpd-php

    AddHandler application/x-httpd-php5

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

答案 2 :(得分:1)

我知道这不是你所追求的,但你可以伪造这是用户调用的HTML文件,使用Apache RewriteEngine就像这样。

RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^((.+)\.(html|htm))$ ($2).php [L]

我还认为,如果您忘记,这是一个很好的安全点,不能将.html作为PHP脚本运行 你有配置这个或使用可以上传HTML到你的服务器。 (不配置apache以使用.html作为PHP文件在filesytem上运行文件。)

答案 3 :(得分:1)

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

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

如果你的entre网站不需要这个,那么强烈建议使用.htaccess在每个文件/目录的基础上执行此操作。