我已经添加了行
AddType application/x-httpd-php .html
到我的 Apache Config 文件,但我仍然无法在 .html 文件中解析 php 脚本。我究竟做错了什么?
这是添加此信息的错误配置文件吗?
使用的处理程序可能会有所不同。
我建议将 PHP 文件作为最后的手段,因为这可以用更少的努力来解决,这是一种蛮力方法。
下面是一些非常常见的变体,但可能还有更多。
AddType application/x-httpd-php
AddType application/x-httpd-php5
AddHandler application/x-httpd-php
AddHandler application/x-httpd-php5
如前所述,可能需要同时使用 AddType 和 AddHandler。
您可以使用 .htaccess :
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$.html $1.php [L]
RewriteRule ^(.*)$.htm $1.php [L]
我知道这并不完全是您所追求的,但是您可以像这样使用 Apache RewriteEngine 来伪造用户调用的 HTML 文件。
RewriteEngine ON
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^((.+)\.(html|htm))$ ($2).php [L]
我也认为这是一个很好的安全点,.html
如果你忘记了你已经配置了这个或者用户可以将 HTML 上传到你的服务器,那么不要作为 PHP 脚本运行。(不配置 apache 在文件系统上运行文件.html
作为 PHP 文件。)
一些网络主机需要这两个指令。尝试这个:
AddType application/x-httpd-php .htm .html
AddHandler x-httpd-php .htm .html
如果您的 entre 站点不需要此功能,强烈建议您使用 .htaccess 在每个文件/目录的基础上执行此操作。