小编典典

将HTML解析为PHP

html

如果我们将Apache Web服务器设置为将Apache配置为将 所有 HTML 处理为PHP,是否存在安全性/性能方面的顾虑?我专门指的是:

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

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

这与以下问题有关:httpd AddType指令
编辑:
从下面的现有答案/评论中,社区似乎建议使用重定向或仅针对特定的HTML文件。约束是我要重新设计一个现有站点(400多个HTML页面;每个页面都使用某种Dreamweaver模板,该模板从不同文件中提取页眉和页脚)。我希望完全避开Dreamweaver,转而使用非专有的东西。因此,我有两个选择:

  1. 使用[服务器端包含(SSI)插入页眉和页脚。这将导致我的所有HTML文件都使用SSI装饰。
  2. 撒一些PHP代码段以包含页眉和页脚。对于此选择,我 必须 确保文件名保持不变。

阅读 1049

收藏
2020-05-10

共1个答案

小编典典

服务器确定需要通过PHP解释器的文件越多,所涉及的开销也就越大,但是我认为这毋庸置疑。如果您的站点没有任何带有纯HTML的页面,那么您已经付出了可能要支付的所有性能损失-
在这种情况下, 将HTML添加到列表与将所有文件重命名为.php一样没有什么不同 延期。

如果您 确实 拥有纯HTML页面,那么真正的性能损失就会降临-服务器将不必要地将这些页面传递给PHP进行解释。但是即使那样,它也不是戏剧性的-
这些HTML页面将不需要PHP解释器,因此除了确定不需要执行任何操作外,它不会做任何事情。这是有成本的,但并不重要。

现在,如果我们在这里大量讨论,性能的每一点都很重要,这将不是一个可行的解决方案。但是,对于中低容量的站点,性能损失将很小。

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

<FilesMatch "^(file_one|file_two|file_three)\.html$">
  AddType application/x-httpd-php .html
</FilesMatch>
2020-05-10