我正在使用多个SSI的网站上工作。由于这些是静态的,因此将页面作为.shtml
提供服务并且不转换为php包含并作为.php
。现在的问题是,在其中一个包括我想用PHP动态生成一些内容。下面是正确的方式去做或者有其他更好的解决方案。我现在在做的是:从SSI包含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. [东西],它工作正常,它也可以在托管该站点的服务器上运行。那么这是否在1.3版本中不起作用,但是在2版本中,还是在某种程度上我很幸运,真的应该以不同的方式做到这一点?
我生成的内容只是在网站导航中添加一个css class/id,以突出显示当前页面,所以PHP似乎有点矫枉过正,因为它在第一次生成后几乎是静态的,我可以缓存服务器上的PHP输出,但也许有一个更好的方法来做到这一点(?)。
感谢您的帮助。
编辑 - 不是一个答案,而是关于我的替代方法问题。 我发现了一种可能更适合我的情况的方法(我毫不犹豫地说清洁剂,因为我确信可以争论到奶牛回家)。由于我目前没有在网站上使用PHP,所以我现在坚持使用它。正如Dan M here所述。
仅供参考,'.shtml'不是静态的 – ajreal 2010-12-16 17:56:42
@ajreal,谢谢,但在某种意义上?从某种意义上说,我可以通过更改SSI来更改每个页面上的内容。还是你建议我可以用'.shtml'动态生成内容。对不起,有点困惑。我错过了基本的东西吗? – tjm 2010-12-16 18:00:20
[什么是.shtml](http://en.wikipedia.org/wiki/.shtml)。包括一个php脚本,不管PHP是否为静态html – ajreal 2010-12-16 18:02:06