WordPress | パーマリンク設定変更による404エラーの解決方法

2022年2月16日

公開日:2022/2/16
更新日:2022/5/14

WordPressとは,世界で最も人気のあるサイト構築サービスであり,W3Techsによる2021年の調査によると,ウェブの43.2%に利用されている.

こちらの記事に基づき,Amazon EC2とWordPressによりウェブサイトを作成した.ただ,WordPressのパーマリンク設定変更に基づく404エラーが発生したので,本記事では,「パーマリンク設定変更による404エラーの解消方法」を以下項目にて記す.

  1. 問題点
    1-1. “パーマリンク設定"で"日付と投稿名"におけるエラー発生
    1-2. “パーマリンク設定"で"基本"におけるエラー発生なし
  2.  解決法
    2-1. “.htaccess"の更新確認

    2-2. “httpd.conf"の更新
  3. 参照

◆実施環境

WordPress 5.9
Apache 2.4.52

■パーマリンク設定変更による404エラーの解消方法

  1. 問題点

WordPressにおけるパーマリンク設定で,“日付と投稿名"を選択すると以下のように404エラーが発生する.

1-1. “パーマリンク設定"で"日付と投稿名"におけるエラー発生

WordPressにログインし,左側の"設定"にカーソルを合わせ,"パーマリンク"をクリックする.

“パーマリンク設定"が開くので,"日付と投稿名"にチェックを入れ,保存をする.

 

WordPressの"投稿一覧"をクリックし,初期に存在する"Hello world"にカーソルを合わせ,"表示"をクリックする.

ブラウザで当該ページが開くと,以下のように"Not Found"のページが表示される.

1-2. “パーマリンク設定"で"基本"におけるエラー発生なし

“パーマリンク設定"を開き,"基本"にチェックを入れ,保存をする.

 

WordPressの"投稿一覧"をクリックし,初期に存在する"Hello world"にカーソルを合わせ,"表示"をクリックする.

ブラウザで当該ページが開くと,以下のように問題なく"Hello world"のページが表示される.

  1. 解決法

WordPressにおけるパーマリンク設定で,“日付と投稿名"を選択すると404エラーが発生した."httpd.conf"を更新することで,404エラーを解決することができた.

2-1. “.htaccess"の更新確認

“Tera Term"をクリックする.

以下画面が表示されるので,"OK"をクリックする.

“ユーザー名"を記入し,秘密の鍵でpemファイルを選択し,"OK"をクリックする.

以下画面に遷移する.

以下画面のように,以下それぞれのコマンドを記載し,"Enter"をクリックする.

1) “cd /var/www/html/"
2) “ls -al"

以下のようにファイル一覧が表示される.".htaccess"の有無を確認し,更新日時も確認する.

“vi .htaccess"をクリックすると,".htaccess"の中身を以下のように確認することができる.

WordPressの"パーマリンク設定"を開き,異なる方(“基本"にチェックがあれば,"日付と投稿名")にチェックを入れ,保存をする.その後,上記と同様に".htaccess"を確認すると,日付が更新されているのが分かる.日付が更新されているのであれば,".htaccess"は問題ないようです.

2-2. “httpd.conf"の更新

“httpd.conf"を編集するため,"以下コマンドを入力し,"root"ユーザーで操作する.

“sudo -i"

以下コマンドを入力し,"Enter"をクリックすると,以下画面に遷移する.
※画面は"ec2-user"であるが,実際には"root"ユーザーで操作する.

“vi /etc/httpd/conf/httpd.conf"

以下コマンドを入力し,"Enter"をクリックする.その後,"N"ボタンをクリックすると,"AllowOverride"を検索できる.何回かクリックすると,「<Directory “/var/www/html">~</Directory>」の「AllowOverride None」が見つかる.

“/AllowOverride"

以下のように変更する.

変更前:"AllowOverride None"
変更後:"AllowOverride All"

最下部まで移動し,以下を追記する.その後,"ESC"ボタンで"INSERT"を抜け,":wq"で強制保存をする.

“LoadModule rewrite_module modules/mod_reqwrite.so"

ファイルから抜けるので,以下コマンドを実行する.

“systemctl restart httpd.service"

WordPressの"パーマリンク設定"を開き,"日付と投稿名"であることを確認する.

WordPressの"投稿一覧"をクリックし,"Hello world"にカーソルを合わせ,"表示"をクリックする.

ブラウザで,以下のように問題なく"Hello world"のページが表示される.

  1. 参照

3-1. パーマリンクが動かないとき | いろはぷらっと

3-2. パーマリンク設定を変更したら404エラーでWebサイトが開かなくなった | Soy Pocket

以上