2013年08月01日

WordPress で404 Not Found 発生の巻

いやー、ページを進めるたびに続々とトラブルが起きますなぁ。前回プラグインがインストールできたので、P64 の「投稿されている記事の確認」に。
はじめから投稿されている「Hello! World」をみてみる。
なにげにページを表示してみようと思ったら
Hello World! の表示 なにげに表示しようとしている図

なんと 404 Not Found のエラー画面に。
鬼教官だぜ WordPess、世界にこんにちはも簡単には言わせてもらえない。

色々調べてみると .htaccess がどうとかこうとか。
これってパーマリンク設定の時に作ったりしましたよね。

そう思ってパーマリンク設定を「デフォルト」に戻すと表示される!
でも他の設定(「月と投稿名」とか)にすると 404 Not Found エラー!がぉー。

うわさによるとパーマリンク設定したら .htaccess には下のように書き込まれていないといけないらしい。
 # BEGIN WordPress
 <ifmodule mod_rewrite.c=”">
 RewriteEngine On
 RewriteBase /wp/
 RewriteRule ^index\.php$ ? [L]
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule . /index.php [L]
 </IfModule>
 # END WordPress

開けてみる。
 # BEGIN WordPress

 # END WordPress
ほぼからやん。

調べてみると、.htaccess に書き込むには httpd.conf 内の 「AllowOverride」 と 「mod_rewrite」 の設定が必要だと。なにゅそれ。
まあとにかく CentOS のコマンドラインから httpd.conf を開く。
 vi /etc/httpd/conf/httpd.conf

まずは AllowOverride を検索。vi エディターでの検索コマンドはこれだ!覚えておけ、俺。
 /AllowOverride

こんなのが出てくる。ちなみに n でどんどん下向きに N で上向きに「次へ検索」されます。
# AllowOverride controls what directives may be placed in <span class="searchword">.htaccess</span> files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit

    AllowOverride None

None を All に修正。None にカーソル持ってきて x で消去。
i でインサートモードにして All と書き込み。 ESC でもどる。
おい、お前のためのメモだぞ、俺。

続いて mod_rewrite の検索。
 /LoadModule rewrite_module ってしてみた。

LoadModule rewrite_module modules/mod_rewrite.so の先頭に # がついていなければオッケー。ついていたら # を消す。

そして :wq でvi をセーブして終了。
すかさず apache を再起動。
 /etc/rc.d/init.d/httpd restart

だれだ、再起動せずに .htaccess が変わらないってってるやつは(僕です)。

ここまでしたら、パーマリンクの設定を変えてみる。
「デフォルト」 から 「月と投稿名」に変えてもみごと表示されましたとさ。

しかしこのわかってなさ感は半端ないな。いつかわかる日はくるのか。そんな気配は毛頭ない。
豆大福食べてねよっと。



posted by 万年初心者 at 17:52| Comment(0) | TrackBack(0) | トラブルと対処 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。