WordPressをローカル(XAMPP)に移行したら個別記事が表示されない時の対策

Wordpress 個別記事表示されない時

XAMPPに移行したら個別記事が表示されない…

このブログも本家のstudio9もWordpressを使って運用しているわけですが、デザインの変更などはいきなり本番環境で作業するわけにもいかないのでローカルでテストしてから本番に移しています。

で、サーバーのWordpressをローカルでテストする場合の定番、XAMPPを使ってローカルへ移植した後によくあれ?ってなるのが個別記事が表示されない(404になる)問題です。トップ画面は表示されるのに。。

さっき作業中に同じ場面に遭遇したので対策法を残しておきます。

パーマリンク設定を見てみよう

私がローカルにWordpress環境を移行する流れはこんな感じ

  1. サーバ上のWordpressファイルをローカルのXAMPPにコピペ
  2. BackWPup(プラグイン)でデータベースをバックアップ→ローカルにダウンロード
  3. phpMyAdminでデータベースをインポート
  4. Search and Replace for WordPress Databases Scriptでデータベースのリンクを修正
  5. 完了!かと思ったら個別記事が表示されない…(404)

という感じです。

移行の一連の流れは下の記事がとても分かりやすいです。データベースのダウンロード以外はほぼ同じ流れかと。

最後のSearch and Replace for WordPress Databases Scriptを使って置換する所は上のリンク先だと上手くいかないことがあるので

replace・・・/ドメイン名
with・・・/localhost/WordPressフォルダ名

としたほうが良いかと思います。(スラッシュを先頭に持ってきて後は外す)

普通はこれで問題なく終わるんですが、なぜかいつも個別記事が表示されなくて焦るんですよね。。

パーマリンクをスラッグ名(ポスト名)にしてるのが原因かも(なんとなく)。

カスタムに直したら治るよ たぶん

対策はいたってかんたんです。

管理画面にログイン(http://localhost/WordPressのフォルダ名/wp-login.php)して、設定>パーマリンク設定 から「カスタム構造」にチェックを入れて

http://ドメイン名/%postname%/

とするだけ(パーマリンクが投稿名(スラッグ名)に設定している人だけね)。

これで「変更を保存」をすれば治ります(私の場合)。

Wordpress 個別記事表示されない時

すでに「カスタム構造」にチェックが入っているならすぐ上の「投稿名」にチェックを入れればOKかと。チェックを変えずにそのまま「変更を保存」で上書きしても大丈夫だったような(うるおぼえ)。

原因は分からないのですが、意味が同じ別の項目をチェックして再設定してあげると治るんですよね。

URLは対策前でも正しく表示されてるのでデータベースを移行する時になにか問題があって、Wordpress側で再設定すると正しくなる的な感じでしょうか。

困っている方はぜひお試しあれ!

スポンサーリンク