WordPressのローカル環境でTOPページ以外が表示されない時に確認すること
WordPressをローカル環境に構築した時に、固定ページや投稿ページが404になることがしばしばあります。
その際に確認するべき点をまとめました。
パーマリンクを更新する
WordPress管理画面の左サイドバーの設定>パーマリンクでパーマリンクの設定ページへ移動します。
そのまま何もせず、「変更を保存」ボタンをクリックします。
WordPressの404系のエラーはだいたいこれで解決します。
MAMPやXAMPPの設定を確認する
今回はMAMPでローカル環境を構築した前提で解説します。
MAMPの以下設定ファイルを開きます。
このファイルのVirtualHostの設定を確認します。
<VirtualHost *:80>
DocumentRoot "WordPressのパス"
ServerName wp.local
</VirtualHost>
このように設定している場合、以下のようにDirectoryを追加しましょう。
<VirtualHost *:80>
DocumentRoot "WordPressのパス"
ServerName wp.local
<Directory "WordPressのパス">
Options FollowSymLinks Includes
AllowOverride All
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
ここまでのことをすれば404系のエラーはほぼ解決するはずです。
これでもダメな場合は、次の項で挙げた点を確認しましょう。
その他の設定などを確認する
ブラウザのキャッシュを削除する
GoogleChromeの場合、検証ツールを開いている状態でリロードアイコンを長押しをすると「キャッシュをクリアしてリロード」が可能ですが、この方法だと完璧にキャッシュが削除されない時があります。
なので、設定からキャッシュを完全に削除しましょう。
また、ブラウザのシークレットウィンドウで見ていても、一度ウィンドウを閉じないとキャッシュ?が原因で設定が反映されない場合があります。
なので、シークレットウィンドウだからといって油断は大敵です...。
パーマリンクの記述を見直す
パーマリンクの記述のせいで404になる可能性があります。
複雑な書き方をしている場合、一度シンプルな書き方に直してみましょう。
functions.phpの記述を見直す
例えば、カスタム投稿の投稿詳細が404になる場合、カスタム投稿を定義するコードが間違っている可能性があります。
functions.phpを見直す場合、必要最低限な記述以外は削除して一箇所ずつデバッグしていきましょう。
プラグインを見直す
プラグインでカスタム投稿を作成している場合はfunctions.phpで作成してみる、固定ページで特別な操作をしている場合はそのプラグインをオフにするなどをしてデバッグしていきましょう。
一度すべてのプラグインをオフ、または削除するのもいいでしょう。
作成したWordPressのDBを削除して再インストールする
色々な操作をしていると、DBに変な情報が追加されている場合があります。
膨大なDBのテーブルをひとつひとつ見ていくのは流石に不可能なので、DBを削除してWordPressを再インストールしてみましょう。
パソコンの再起動
気休め程度です。
おそらく変わりませんが、やらないよりはいいでしょう。
まとめ
WordPressの404の原因はたいていパーマリンクです。
と、どのサイトでも書かれていますが、中にはパーマリンクを保存しても解決しない方もいると思います。
その場合、バーチャルホストを見直してみてください。
私自身、それで解決しました。
サイトのエラーには必ず原因があるので、自分を信じず、ひとつひとつしっかりと内容を確認しましょう。