質問: mod_rewriteを使用するための設定について お世話になります。 mod_rewriteの設定についてアドバイスいただきたいと思います。 今までレンタルサーバーで.htaccessを使って、動的urlを静的urlでアクセスさせることに用いていたのですが、自前サーバー(fedracore2.0+apache2.0.53)にその.htaccessファイルを移してみたところ、思ったような動作をしてくれません。色々なサイトを参考に見て回ったところ、「httpd.conf」が怪しいと感じたのですが、 loadmodule rewrite_module modules/mod_rewrite.so loadmodule proxy_module modules/mod_proxy.so の箇所もコメントアウトされておりますし、過去ログにもあったバーチャルホストの併用もしておりません。 ちなみに.htaccessは下記のような内容です。 directoryindex index.htm index.php .ht rewriteengine on rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^doc-([0-9]+).htm+ doc.php?number=$1 レンタルサーバーでは問題なく動作しておりましたので、.htaccess側の問題ではなくapache側の問題だと思っております。どなたかアドバイスの程よろしくお願いいたします。
回答: >httpd -l ではmod_rewrite 関連が表示されません。 >#/usr/sbin/lsof -c /httpd/ |grep -i mod_rewrite ではusr/lib/httpd/modules/mod_rewrite.so の表示があります。 それなら loadmodule で mod_rewrite を読み込んだら、httpd -l で出て来る筈ですが、変ですね。 念のため確認ですが、%which httpd で出て来る httpd と、lsof の(同左中の) httpd のは、本当に同じもの(同じ path)ですか ? どうも httpd.conf の方の問題のように思えますが、編集中の httpd.conf が、本当に実際に動いているhttpd が読んでいるものかどうか、意図的にエラーになる文字列(何でもいい)を入れて見て httpd -t とか apachctl restart とかしてチェックしてはどうでしょう。 これらが同一であるなら、rewritelog をフルに取って、何が起こっているかログを調べないと分りません。 参考url:http://www.net-newbie.com/trans/mod_rewrite.html#rewritelog