web-dev-qa-db-ja.com

WordPress Webサイトに基づいて静的Webサイトを作成する

私は静的なWebサイトを構築する必要があるプロジェクトを行っています(ホスティング制限のため)。

私は自分のコンピュータ上にWPサイトを構築し、それからサイトマップを作成し、そしてそのサイトをリッピングし、そしてファイルをホストにアップロードすることによってこれを試みることを考えました。

これを行う方法について何か良い提案がありますか? (または私が試してもいけない理由すべての正当な理由)

4
Tal Galili

私は今これをしています(まだ進行中です)。最適な設定は次のようになります。

  1. 投稿に.html拡張子を追加する - 簡単です、カスタム投稿パターンを使うだけです

  2. ページに.htmlエクステンションを追加します - あなたがページを使うなら、それのためのプラグインが必要です

  3. フィードを無効にする(function.php内のヘッダーを削除して)

  4. コマンドラインからwgetを使用します。
    wget -x -nH -P scraped -np -k -R php -E -X wp-content,wp-includes -m http://address/siteroot/

    これはあなたのサイトを駄目にし、WordPressスタイルのディレクトリURLを.html URLに変更し、内部リンクを相対リンクに変更します。削除されました。

    明らかに、仮定はサイトが完全にルートから到達可能であるということです。そうでない場合は、(あなたがあなた自身が言ったように)サイトマッププラグインを使用し、そこから削除してください。

  5. 何らかのプロセッサを実行してhttp://address/を削除するか、静的サイトの絶対ルートに変更します。ディレクトリを移動する必要がある場合(例:メディア/アップロード)、それはもう少し難しいです。

これはあなたに約80%の道を開かせるでしょう。

あなたがこのようになってしまった場合は、あなたがもっと知っているときに私を見つけ出してください。 (複数の人がこれを必要としている場合は、これをランク付けして、1か月ほどでどこかに公開します。

あなたのコメントから、私は2つのより良いオプションがあると信じています。

1)あなたがPHP w/PDOを持っているなら、あなたはこのプラグインの使用を見ることができます http://wordpress.org/extend/plugins/pdo-for-wordpress / 、sqliteをデータベースとして使うことができます。注:WordpressはMySQL用に設計されており、MySQL用に設計されているため、結果が異なるSQLバックエンドを使用する場合があります。

2)あなたが持っているものがいくつかの基本的なphpモジュールであるならば。インクルードのグループでサイトを作成するだけです。 phpインクルードを使用して一連の「テンプレート」を作成している場所へ。私はヘッダー、フッター、ホームページ、そしてインナーページのためのphpファイルを持っているでしょう。内側のページが複数ある場合似たようなレイアウトは別のページにまとめ、それぞれの種類の内側ページにそれらを含めます。それから、あなたのすべてのコンテンツを内側のページに入れてください。それからindex.phpを使って、入ってくるURLに基​​づいて欲しいページをロードする基本的なコードを作成します。mod_rewriteと一緒に.htaccessを使うことができます(Apacheを想定して)。 php?template = inner&page = about

2
Ryan Gibbons

こんにちは@ Tal Galili

@ Insanity5902の提案が該当しない場合は、 HTTrackウェブサイトコピー機 を使用して、ダウンロードしたサイトのコピーをサーバーにアップロードします。

2
MikeSchinkel