otomさん、お疲れさまです。
.htaccess の記述内容は問題なさそうです。
Apacheの設定については、私の知識がない上にMAMPとWindowsのXAMPとでは違うかもしれないので、信頼性が低い情報になってしまいますが、よかったら以下を読んでみてください。
(Macユーザの登場を待つ方が安全です。(^^;)
1. .htaccess
の改行コード
2. mod_rewrite を正しく読み込んでいるか
3. <Directory> ディレクティブでドキュメントルートを指定してみる
※ 何かを書き変えるときは作業前にバックアップを取ってくださいね。
1. .htaccess
ファイルの改行コード
CRだと動かなくてLFにしたら動いたという方がいらっしゃいました(参考)。
2. mod_rewrite モジュールを正しく読み込んでいるか
http://localhost/server-info か phpinfo()
でサーバの設定情報を見られます。
server-info は、XAMPPではデフォルトで見られるように設定されていました。
phpinfo()
は、XAMPPだと http://localhost/xampp/ のサイドバーから見に行けるのですが、MAMPはどうでしょう。なければ自分でphpファイルに書いてアクセスしてもokだと思います。
もしもmod_rewriteが読み込まれていなかったら、
・httpd.conf
で mod_rewrite を読み込む行がコメントアウトされていないか
・その指定どおりの位置にファイルが存在するか
を確認してみてください。
(例) こんな感じの行
LoadModule rewrite_module modules/mod_rewrite.so
(参考)
・mod_info – Apache HTTP サーバ
・設定情報の確認 – Apacheサーバの管理 – Apache入門
・Apacheとmod_rewrite :: The Cookbook
3. <Directory> ディレクティブでドキュメントルートを指定
私のPCの httpd.conf
はデフォルトでこんな感じ(↓)になっていたので、ルートじゃなくてドキュメントルートディレクトリを指定してみるのはどうかな、と。。。
XAMPディレクトリのパス/apache/conf/httpd.conf
:
(AllowOverride がらみの箇所だけ)
ServerRoot "XAMPディレクトリまでのパス/apache"
(中略)
LoadModule rewrite_module modules/mod_rewrite.so
(中略)
DocumentRoot "XAMPディレクトリまでのパス/htdocs"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "XAMPディレクトリまでのパス/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
(中略)
<Directory "XAMPディレクトリまでのパス/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
(後略)
性能的にも、.htaccess が要らない場所では無効にしたほうがよいようです(参考)。
他にも<Directory />〜</Directory>で囲まれた”phpMyAdminForPHP5″など
のあたりもAllowOverride Allに変更し、
これが分かりませんでした。MAMP用の何かでしょうか。
基本的には、WordPressの設置ディレクトリの .htaccess
を読んでくれればいいので、ドキュメントルート以下で AllowOverride すれば大丈夫そうな気もするのですが。。。自信なしです。ゴメンナサイ!