WordPressのパーマリンクが404になる件

404 Not Foundエラー画面

ローカルでWordPress環境触ってるとき、トップページ(ルートアドレス)は表示されるのに、サブページ以降(パーマリンクで指定)が表示されなくなった。

エラーを見ると「404 Not Found」「The requested URL /archives/1/ was not found on this server.」とか言われて、パーマリンクをディレクトリとして認識してるっぽい。

原因はRewrite設定

パーマリンクはApacheのRewrite機能を使って実現してるので、Rewrite設定を見直せば解決する。

WordPressでパーマリンクを設定するとルートディレクトリに「.htaccess」が作成される。中身はこんな感じ。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
# END WordPress

ここで注目するのはRewriteBaseRewriteRule
ローカル環境だと流用作成する場合もあり、ここらへんの設定がWordPressの設定と合っていないことがある。
一般設定の「WordPress アドレス (URL)」と合わせて確認すること。

BitNami環境の場合

BitNami環境の場合は、「conf/httpd-app.conf」ファイルにRewrite設定が記載されているので、そちらを確認すること。
修正したあとは、サーバー再起動もお忘れなく。

投稿者: Output48

中学生の時に初めてHTMLに触れてからホームページ制作を独学で始める。 ベンチャー企業の営業、大手企業のPG・SEを経て、独立。 現在はとある企業のCTOと、変な名前の会社の社長をしてる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください