4

我已经添加了行

AddType application/x-httpd-php .html

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

这是添加此信息的错误配置文件吗?

4

4 回答 4

2

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

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

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

    AddType application/x-httpd-php

    AddType application/x-httpd-php5

    AddHandler application/x-httpd-php

    AddHandler application/x-httpd-php5

如前所述,可能需要同时使用 AddType 和 AddHandler。

于 2012-11-05T22:21:03.930 回答
2

您可以使用 .htaccess :

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$.html $1.php [L]
RewriteRule ^(.*)$.htm $1.php [L]
于 2012-11-05T21:35:56.423 回答
1

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

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

我也认为这是一个很好的安全点,.html如果你忘记了你已经配置了这个或者用户可以将 HTML 上传到你的服务器,那么不要作为 PHP 脚本运行。(不配置 apache 在文件系统上运行文件.html作为 PHP 文件。)

于 2012-11-05T21:33:15.720 回答
1

一些网络主机需要这两个指令。尝试这个:

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

如果您的 entre 站点不需要此功能,强烈建议您使用 .htaccess 在每个文件/目录的基础上执行此操作。

于 2012-11-05T21:34:17.507 回答