我正在使用多個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