10月 14

WordPressで「404 Not Found」がでる


こちらのブログではないが、別で構築中のwordpressでやたらと「404 Not Found」がでてしまった。
原因はwordpressが同ディレクトリ内に.htaccessが作れなかったことが原因。
apacheを動かしているユーザーでも書き込める権限をドキュメントルートに設定する必要がある。

例えば、下記の場合。
apache実行ユーザー:www
wordpressのディレクトリ:/www/wordpress/

chmod -R 744 /www/wordpress

などとして、apache実行ユーザーに書き込めるようにする。
そして、パーマリンク設定後に同ディレクトリ内に.htaccessができていればOK。
私はwordpressの設置を全部rootユーザーで行ってしまったため、apacheの実行ユーザーがwordpressのディレクトリに「.htaccess」を書き込めていなかったのが原因であった。

なぜ.htaccessが必要かというと、wordpressはapacheのmod_writeという機能を必要としているが、
そのmod_writeのconfigが.htaccessに記述されるためである。

ちなみに、上記でも解決できない場合はapacheのmod_writeの設定が上手くいっていない(インストールされていない)可能性があるので、そしちらを疑ってみよう。

  [apacheまでのパス]/bin/apachectl -l

上記コマンドを実行して、mod_rewrite.cが無ければmod_writeの設定が上手くいっていない。
mod_writeについては(自分もよくわからないのでw)割愛する

written by YSU \\ tags: ,