2012-09-26 13 views
6

The Conversations NetworkIT Conversationsポッドキャストを含む)をシャットダウン中です。この計画は、Internet Archiveで恒久的なホスティングのために私たちのウェブサイトの静的HTMLバージョンをレンダリングすることです。ダイナミック(PHP)ウェブサイトを静的HTMLとしてアーカイブする方法は?

PHPから動的に生成される約5,000の動的ページから静的HTMLを生成する最も簡単な方法は何ですか?

私は、PHP出力をキャッシュするためのコードを調整してファイルに書き込んだり、サイトマップを歩いてすべてのページを生成したりすることができます。しかし、我々は考慮すべきオプションがあるのだろうかと思う。これを行い、HTMLを現状のままスクラップするためのツールはどれですか? (Acrobat Pro以外のもの)

残念ながら、かなりの数のAjaxコールがあります。これにより、これをさらに難しくしています。私は最初にそれらをアンジャックしなければならないと思います。

+0

[インターネットアーカイブ](http://archive.org)の人々には良いアイデアがあるかもしれません。 – Barmar

+0

Ajaxの呼び出しがPOST呼び出しである場合、あなたはうんざりです。静的に、特にアーカイブのためにウェブサイトを設計することには利点があります。例えば。貴重なコンテンツを持つウェブサイトがある場合しかしそれは設計上の決定です。後でそれが必要な場合は、行うべき作業があります。 – hakre

答えて

2

Teleport Pro」(残念ながらpayware)という大きなソフトウェアがあり、ウェブサイトの閲覧/複製コピーを作成することができます。一度サーバーにアップロードすると、元のサイトとまったく同じように動作するはずです。

ダイナミックページから静的なHTMLを作成する場合は、注意が必要です。

  • (自分で言ったように)あなたの現在のAjaxの呼び出しが
  • 非ajaxedする必要が.htaccessの設定、例えばmod_rewriteのは、あなたの静的ファイルを無価値にすることができます。リンクが機能しない可能性があるためです。

しかし、「Teleport pro」は、しばらくの間の本当の固体プログラムです。私は過去にそれを使用しており、恐らくそれを再び使用するでしょう。


もう1つのアプローチは、キャ​​ッシュを作成するphpモジュール "php-apc"です。この場合、完全なキャッシュが作成される前に、サイト全体をクロールする必要があります。私はそれに精通していませんが、インストールは簡単です。生成されたファイルが何らかの用途に使用されているかどうかを確認できます。

+2

apcキャッシュはレンダリングされたページではなくPHPコードなので、これはうまくいきません。 – karka91

4

あなたが探しているものと異なる場合があります。 HTTrackはあなたのウェブサイトを閲覧し、そのHTML版を保存します。このミラーには、画像、CSS、JavaScriptなど、リンクされているすべての静的コンテンツが含まれます。

私の考える唯一の問題は、あなたのAJAXスクリプトがサーバーから重要なデータを引き出しているが、おそらくHTTrackがその設定を持っているということです。

+1

Httrackにはたくさんのオプションがありますが、Ajaxコールではそれほど難しいものではありません。 – hakre

関連する問題