2011-02-04 52 views
1

我有一個PHP/mySQL站點不再能夠添加任何新內容。但是我想保留我作爲一個檔案存檔並保持在線狀態。理想情況下,我想將其轉換爲靜態網站,以便它不再需要數據庫。將動態PHP/mySQL網站轉換爲歸檔HTML版本?

如果其他人已經經歷了這個過程,是否有任何工具,腳本或方法可以自動執行此操作,或者至少可以使這更簡單?我希望能夠做一些事情,例如確保所有鏈接仍然有效(所以他們必須以某種方式將其轉換爲正確指向新的靜態版本),諸如此類。

我有ssh訪問有問題的服務器。我對PHP和Python都比較舒服,所以使用這些語言的工具將是理想的。

注意:有我在做這兩個基本原因:

  1. 成本,因爲它便宜得多主辦只是一個靜態文件的集合不是動態的網站(我使用NearlyFreeSpeech和與我使用的帶寬我估計我的成本將下降到1美元/月以下)。
  2. 垃圾郵件發送者以某種方式發現我的網站並繼續註冊帳戶(在這一點上,他們被阻止發表評論,但它仍然令人討厭)。
+0

與技術方面完全無關的是,這是我祖母的紀念網站,這就是垃圾郵件發送者註冊更令人討厭的原因。我很樂意無限期地保留網站,這也是爲什麼我需要降低成本的原因。在這一點上,每個在網站上有話要說的人都說了他們的作品。 – 2011-02-04 17:33:24

回答

1

我最近使用了以下良好效果:

wget --mirror -w 2 -p --html-extension --convert-links -P folder_to_save_to http://mysite.com 

您可能需要使用的完整路徑wget的腳本。這將改變所有的鏈接,使您的網站是完全靜態和獨立的。

1

使用PHP,你可以寫一個簡單的腳本,將做到這一點:

  1. 保存當前頁面。
  2. 關注該頁面的鏈接並保存這些頁面(並且每個頁面從1開始重複)。
  3. 將當前頁面上的URL替換爲導致保存頁面的URL。
2

如果你有shell訪問任何Linux機器(甚至可能你自己的網絡服務器就足夠了),我建議你只需使用wget蜘蛛並下載你自己站點的鏡像。 Wget是一個實用程序,旨在將網站鏡像爲平面文件,並且已經使用了相當長的一段時間。我相信它應該爲你服務好:

http://www.gnu.org/software/wget/manual/wget.html

我希望這是有幫助的。

克里斯

+0

是的,我已經用wget做了一次遞歸下載。在這一點上,我意識到所有的鏈接都需要重寫。這就是爲什麼我想知道是否有工具或腳本可以處理這個問題。 – 2011-02-04 20:49:06