2012-09-26 89 views
6

我們正在關閉The Conversations Network(包括IT Conversations podcast)。該計劃是在Internet Archive上呈現永久託管的我們網站的靜態HTML版本。如何將動態(PHP)網站存檔爲靜態HTML?

什麼是生成當前從PHP動態生成的約5000動態頁面靜態HTML的最簡單的方法?

我知道我們可以調整代碼緩存PHP輸出,將其寫入文件,然後步行站點地圖生成每一頁。但我想知道是否有任何我們應該考慮的選擇。任何工具可以做到這一點,並按原樣截取HTML? (有什麼Acrobat之外的臨?)

不幸的是,我們也有相當數量的Ajax調用,這將會使這變得困難。我想我們必須首先解除它們。

+0

也許在[互聯網檔案](http://archive.org)的人會有很好的想法。 – Barmar

+0

如果Ajax調用是POST調用,那麼就搞定了。設計網站有利於他們靜態工作,尤其是歸檔。例如。如果你有一個有價值內容的網站。但是這是一個設計決定,如果你以後需要這樣做,那麼有一些工作要做。 – hakre

回答

2

有一個名爲「Teleport Pro」(很不幸)的軟件很棒,它可以創建一個網站的可瀏覽/複製副本。其中,一旦上傳到服務器,應該與原始網站完全一樣。

要注意的事情,雖然當你從動態頁面創建靜態HTML是;

  • 您當前的Ajax調用必須取消ajaxed(如你自己說的)
  • 的.htaccess設置,mod_rewrite的,例如可以讓你的靜態文件毫無價值。因爲鏈接可能不起作用。

但「傳送專業版」是一個真正的固體程序,這是一個相當長的時間。我過去曾經使用它,可能會再次使用它。


另一種方法可能是創建緩存的php模塊「php-apc」。在這種情況下,您需要在創建完整緩存之前抓取整個站點。我不太熟悉它,但安裝很容易完成,你可以看到生成的文件是否有用。

+2

APC緩存不呈現頁面,但PHP代碼,因此這將不起作用 – karka91

4

它可能不是你要找的;但HTTrack將瀏覽您的網站鏈接並保存它的HTML版本。該鏡像將包含所有鏈接的靜態內容,例如圖像,CSS和JavaScript。

我能想到的唯一問題是如果你的AJAX腳本從服務器上提取重要數據,但也許HTTrack有一個設置。

+1

Httrack有很多選項可供選擇,但對於Ajax調用,它遠非直截了當。 – hakre