【发布时间】:2010-12-16 17:53:30
【问题描述】:
我正在开发一个使用多个 SSI 的网站。由于这些是静态的,因此将页面作为 .shtml 提供而不是转换为 php 包含并作为 .php 提供是有意义的。现在的问题是,在其中一个包含中,我想用 php 动态生成一些内容。以下是正确的方法还是有其他/更好的解决方案。我现在正在做的是:
<!--test.shtml-->
<!DOCTYPE html>
<html lang="en" dir="ltr">
<body>
<!--#include virtual="/test.php" -->
</body>
</html>
<!--test.php-->
<?php echo 'Hello from php'; ?>
我读到这不应该工作,但我读到的地方,它指的是 Apache 1.3。在我家的服务器上,我正在运行 Apache 2.[something] 并且它运行良好,它也适用于将托管该站点的服务器。那么这是不是在 1.3 中不起作用但在 2 中起作用的东西,还是我只是以某种方式幸运并且真的应该以不同的方式来做呢?
我正在生成的内容只是在网站上的导航中添加一个 css 类/ID,以突出显示当前页面,所以 PHP 似乎有点矫枉过正,因为它在第一次生成后几乎是静态的,我我想可以在服务器上缓存 PHP 输出,但也许首先有更好的方法(?)。
感谢您的帮助。
编辑-不是答案,而是与我的替代方法问题有关。 我找到了一种可能更适合我的情况的方法(我不敢说更清洁,因为我确信可以争论直到奶牛回家)方法。由于我目前没有将 PHP 用于网站上的任何其他内容,因此我现在会坚持使用它。如Dan M here所述。
【问题讨论】:
-
@ajreal,谢谢,但在什么意义上?从某种意义上说,我可以通过更改 SSI 来更改每个页面上的内容。或者您是否建议我可以使用
.shtml动态生成内容。抱歉有点糊涂。我错过了一些基本的东西吗? -
what is .shtml。包含 php 脚本被认为是动态的,无论 PHP 是否为静态 html
-
@ajreal。好的,酷,我明白你在说什么。谢谢。