LoginSignup
2
2

More than 5 years have passed since last update.

WordPressの404が出まくる時の覚え書き

Last updated at Posted at 2016-06-18

OSX Server (El Capitain)でWordpressサイトを作っていて、userdir(/~hoge下)に設置した時に、.htaccessが効かずに各個別ページが404 Not Foundになる現象でハマりました。

現象としては、WordPress管理ページやトップページは開けるものの、それ以外の個別投稿などが全てNot Foundになるというよくあるもの。今回の場合、DocumentRoot下のWordPressでは問題ないので、mod_rewite自体は機能してて、userdirに対するAllowOverrideでFileInfoが許可されていないんだろう、という予測はついたものの、勝手のわからないOSX Serverでまたまたドハマリ。

まず苦労して見つけたユーザ毎のApache設定ファイルが、別記事の通り、
/private/etc/apache2/users/hoge.conf
と判明。ここに、
AllowOverride FileInfo
を追加(ディレクティブは最初からあった)。

すると今度は管理ページもトップページも全てForbiddenになるという悪化。そして、mor_rerwiteのログ機能である、

RewriteLog /hogefuga/rewrite_error.log
RewriteLogLevel9

をhttpd.confに追加してみても、ログで「ミススペルじゃね?」といわれてApacheが起動しなくなる。ログが見られないと、.htaccessのどこが悪いのか検証ができない>_<!と思ったんですが、結局.htaccessには問題がなくて(WordPressの自動生成したものだし)、ディレクティブ内のOptionsにFollowSymLinksが必要、ってだけでしたとさ。

2017/1/1追記:

Sierraに更新したらまた発生。FollowSymlinksは確かに指定済み。
/private/etc/apache2/extra/httpd-userdir.conf
で、
Include /private/etc/apache2/users/*.conf
がコメントアウトされてるせいでした。El Capitanでもそうだったか覚えがないですが、とりあえずOSアップグレードでコメントアウトされる可能性があるので注意。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2