2012-09-26 3 views
6

The Conversations Network (IT 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을 만들 때 유의해야 할 사항은 다음과 같습니다.

  • 현재 아약스 호출 (당신이 자신을 말했듯이)되지 않은 ajaxed로
  • htaccess로 설정을해야합니다, 예를 들어, mod_rewrite를은 정적 파일이 쓸모 만들 수 있습니다. 링크가 작동하지 않을 수 있기 때문입니다.

그러나 "Teleport pro"는 꽤 오랫동안 사용 된 진짜 솔리드 프로그램입니다. 나는 과거에 그것을 사용했고 아마 그것을 다시 사용할 것이다.


또 다른 방법은 캐시를 만드는 php 모듈 "php-apc"일 수 있습니다. 이 경우 전체 캐시가 만들어지기 전에 전체 사이트를 크롤링해야합니다. Im은 너무 익숙하지 않지만 설치는 쉽게 완료되며, 생성 된 파일이 사용되는지 확인할 수 있습니다.

+2

apc 캐시는 렌더링 된 페이지가 아니라 PHP 코드이므로 작동하지 않을 것입니다. – karka91

4

당신이 찾고있는 것과 다를 수 있습니다. 그러나 HTTrack은 웹 사이트에서 링크를 찾아 HTML 버전으로 저장합니다. 이 미러에는 이미지, CSS 및 자바 스크립트와 같이 연결된 모든 정적 콘텐츠가 포함됩니다.

내가 생각할 수있는 유일한 문제는 AJAX 스크립트가 서버에서 중요한 데이터를 가져 오지만 HTTrack이 그 설정을 가지고있는 경우입니다.

+1

Httrack은 Ajax를 호출 할 때 많은 옵션을 제공합니다. – hakre