Edited at

【WordPress】.htaccessもapacheの設定もバッチリなハズなのに意図しないページが404になってお手上げ状態の時

WordPressで意図しないページが404になっちゃった!

記事は作れるのに生成されたリンクに飛ぶと404になってしまう。

「wordpress 404」などでググッてあの手この手を尽くしたけどどうにも上手く行かない時に見直すべきポイントを以下にまとめてみた。


改めて確認するポイント


.htaccessの設定

パーマリンク設定をした時に「変更を保存」を押して、以下の.htaccessの設定をちゃんと反映できているかを確認する


.htaccess

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>


apacheの設定

「AllowOverride All」の記述があるかを確認する


httpd.conf

<Directory "[ルートディレクトリの場所]">

AllowOverride All // ← これを記述
</Directory>


大抵のことはググり尽くした!ググったことはとりあえずやったけどそれでも404になっちゃうの!

そういう時は答えを外に求めるのを一旦やめて、何か思い当たることはないか、考えてみる。


思い当たること


パーマリンクでカスタム構造の設定をしている

パーマリンクを思い通りにしたくてあれこれ書いてみたとして、

そのパーマリンクの設定は正しく設定されているだろうか。

パーマリンク設定に不安があるのであれば、一旦デフォルトに戻して「変更を保存」してみる。

パーマリンクの設定をデフォルトに直してもダメ!

そんな時はパーマリンク設定の中でもオプションの箇所に何か設定を入れていないか確認をしてみる。

「カテゴリベース」「タグベース」に書かれている文字列があるならそれを一旦消して、「変更を保存」する。

それでもうまくいかない!

functions.phpにrewriteの設定をしている箇所が無いかを確認してみよう。

一旦そこを消して、もし上手く動いたのならばrewriteをしている箇所の見直しが必要ということになる。

ここまでやってうまくいかない!

ここまでやってもうまくいかないタイミングに出くわしたことはないので、

ここでこれ以上書けることも無い訳で...

DBを作りなおすか、環境構築から見直すなどの対応が必要かと...

手っ取り早いところで、何か悪さをしてそうなプラグインを停止してみるのが良いかもしれない。