将HTML解析为PHP

如果我们设置Apache Web服务器以配置Apache以将所有HTML作为PHP处理,是否存在任何安全/性能问题?我特别指的是:

AddType application/x-httpd-php .php .php3 .php4 .html

我遇到的情况是我需要在一些HTML文件中添加一些PHP逻辑;理想情况下,我不必更改文件名,例如page.html到page.php(保持page.html的页面排名等).

这与以下问题有关:httpd AddType directive

编辑:
从下面的现有答案/评论看,社区似乎建议使用重定向或仅定位特定的HTML文件.限制是我正在重新设计一个现有的站点(400个HTML页面;每个页面都使用某种Dreamweaver模板,从不同的文件中提取页眉和页脚).我希望完全回避Dreamweaver进入非专有的东西.所以,我有两个选择:

>使用Server Side Includes (SSI) to pull in the header and footer.这将导致我的所有HTML文件都使用SSI进行修饰.
>撒上一些PHP代码段以包含页眉和页脚.对于这个选择,我必须确保文件名保持不变.

解决方法:

服务器确定需要通过PHP解释器传递的文件越多,涉及的开销就越多,但我认为这不用说.如果您的网站没有包含普通HTML的任何页面,那么您已经支付了所有可能支付的性能损失 – 在这种情况下将HTML添加到列表中并不比简单地将所有文件重命名为.php延期.

如果你有普通的HTML页面,那么真正的性能损失就会到来 – 当没有必要时,服务器会不必要地将这些页面传递给PHP进行解释.但即便如此,它并不引人注目 – 这些HTML页面不需要PHP解释器,因此除了确定它不需要做任何事情之外它不会做任何事情.这有成本,但并不重要.

现在,如果我们在这里谈论大量,那么每一点性能都很重要,这不是一个切实可行的解决方案.然而,对于中低容量的站点,性能损失将是无法实现的.

如果这是一次性更改并且受影响的文件数量有限,则使用FilesMatch指令可能更为保守.

<FilesMatch "^(file_one|file_two|file_three)\.html$">
  AddType application/x-httpd-php .html
</FilesMatch>
上一篇:k8s集群搭建(kubeadm方式)


下一篇:Apache部署网页-Ubuntu16.04