管理人は普段はWindows7のXAMPPでWordPressのカスタマイズやテストを行っているんですが、Apache周りの周辺知識も増やしたいな~と思いUbuntuに環境構築して触ってみました。
で、見事にハマっちゃいました。
WordPressのパーマリンクが404 Not Found になっちゃうっていう。
ちなみにバージョンは
Ubuntu 14.04LTS
Apache 2.4
WordPress 4.4
です。
解決した手順をメモっときます。
何が問題なのかを確認する
デバッグ作業では、まず初めにエラーログを見ることから進めます。が、WordPressのエラーログとかちょっとわかんないので、とりあえず管理画面の設定を変えて状況を確認しました。
[設定] – [パーマリンク設定]を
[基本] にしたらパーマリンクは問題なく表示されて、
[投稿名] とかにしたら 404 NOT FOUND になっちゃいます。
この時点でWordPress的には問題ないことがわかります。URL書き換え周りの何かがおかしい。「どうせ mod_rewrite あたりなんだろう??」とアタリをつけます。
mod_rewriteを有効にする
黒い画面を開いて
$ sudo a2enmod rewrite
と打ち込むと apache2 のmod_rewriteモジュールが動き出します。
次に、sites-available/defaultファイルを編集します。
これはCentOSでいうところの /etc/httpd/conf/httpd.conf の編集にあたります。同じ設定なのにOS違うと名前も違うんですねー。
$ sudo vim /etc/apache2/sites-available/default
ディレクティブの「AllowOverride None」のNoneをAllに変更する
…
<Directory /var/www/>
…
# AllowOverride None
↓↓None を All に変更↓↓
AllowOverride All
…
</Directory>
…
仕上げにapacheを再起動
$ sudo service apache2 restart
これで、WordPressのパーマリンクもキレイに表示されました。
さー、イジり倒すぞー ლ(*´益`*)
コメント