WordPress

[WP]MAMPにWordPressのクローン環境を再作成しようと思ったらArchiveページが表示されなくて困った件

原因が分かったらなんとも情けない話なのですが、大晦日にやたらとハマってしまったのでメモしておきます。いや〜、まだまだ修業が足りない @azur256 です。


MAMP 001

WordPress 3.8 にするためにローカル環境をクリアに作り直すことにした

そもそもは WordPress 3.7.1 から 3.8 にバージョンアップするために、ローカルで評価をするのが目的だったのです。
ただ、クライアントの MAMP 環境は結構いじられていたので、年末という事もあり、心機一転、新しい環境を再構築しよう、なんて考えたのが浅はかでした。

ローカルの MAMP 環境にある WordPress をクリアにして、3.7.1 をダウンロードして動くようにするまでは、以前もブログで書いた方法で問題なくできました。
[WP] バックアップサイトをMAMP上に作成する

そして、ここにサーバのデータのバックアップを復元するためにバックアップファイルをダウンロードしようとしたところ…自動バックアップが作成されていませんでした。
理由は分からないので、再設定してもう少し様子をみてみるつもりですが、皆さんもご注意ください。

手動でバックアップを作成してローカルにリストア

ひとまず手動でバックアップファイルを作成してローカルにリストアしようとしたのですが、なぜか WP-DBManager のリストア機能ではリストアできませんでした。リストアできなかった理由が Debug ログにも出ないので不明なのですが、 WP-DBManager のバックアップファイルを直接 MySQL で読み込ませることでリストアすることができました。

バックアップしたファイルを dbback.sql というようなファイル名にして、MySQL のアカウント、パスワード、DB名を入れた状態で以下のコマンドでリストアしました。



リストアした後はローカル環境用にパス情報を書き換えました。詳細はこちらのエントリをご覧ください。
[WP] MAMPにWordPress DBをリストアした後の処理をバッチで自動化する

さてこれで万全…のはずが、そんなことありませんでした。

なぜか Archive ディレクトリにアクセスできない

リストアした状態だと、トップページは表示されるのに個別のアーカイブページが表示できませんでした。普通に考えるとPHPがおかしいか.htaccessがおかしいかです。
PHPがおかしいなら Debug ログに何らかエラーがでるはずですがそういうものは見当たりません。また、ローカル環境を作った時に .htaccess を記述した覚えがないですし、備忘録にもそのような記述は見当たりません。

とはいえ、やっぱり .htaccess が無いのはおかしいと思って調べてみたら、なんとパーマリンクを設定している場合 .htaccess は自動で生成されるそうです。自分は数字ベースのパーマリンクを設定しているので、まさにコレが原因のようです。
WordPress を専用ディレクトリに配置する – WordPress Codex 日本語版

ローカル環境には .htaccess が無かったのですが、パーマリンク設定のページで何も変更せずに「設定を保存」を押すと .htaccess が自動生成されました。

内容は、このようになっています。


中身をみたら納得です。mod_rewrite のルールが何も指定されていなければ、Archive ページの表示はできなくて当然です。この設定で、やっとローカル環境にコピーを作ることができました。

これでやっと本題の WordPress 3.8 へのアップデートに向けて差分確認を始めることができるようになりました。

WordPress 関連のエントリ


インストールや設定変更とデータ移行




プラグイン




バージョンアップ




カスタマイズ





Stinger 3関連





チューニング





MAMPを使ったバックアップサイトの構築





開発関連







最後まで読んでいただきありがとうございます。

follow us in feedly 左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです


Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします

RSSリーダへの登録は こちら からどうぞ。

URL
TBURL

コメントを残す

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

フェイスブックでのコメント

Return Top