プロが教えるわが家の防犯対策術!

サーバの運用上、mod_rewriteを使う必要が出来たので設定してみたのですが効きません。

FreeBSD4.11+Apache1.3.33で
httpd.confファイルに直接書き込んで試しています。

LoadModule rewrite_module modules/mod_rewrite.so
AddModule mod_rewrite.c

のどちらも書いてあるにもかかわらず、下記のテスト設定を試してみたらローカルIPからアクセス出来てしまいます。

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^192\.168\.1\. ←ローカルネットワークのアドレス
RewriteRule ^.*$ - [F]

どのようにしたらいいですか?
アドバイスお願い致します。

A 回答 (3件)

デバッグのためにログを取得してはいかがでしょうか? それを見るとどのように条件がチェックされているかが分かりますので。

この回答への補足

ご回答、ありがとうございます。

初歩的なことですいません。どのログを取ったらいいか教えていただけますか?
よろしくおねがいします。

補足日時:2005/10/10 11:36
    • good
    • 0

試していませんが、



RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.*

じゃだめですか?
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。

*とかPCのアドレスを入力してもアクセスできてしまいました。
コマンド間違えも考え、色々なコマンドを試してみましたが出来ませんでした。

お礼日時:2005/10/10 11:46

#1 さんも書いていますが、



”設定したけど、うまく行かない”だけでは、解決になりませんよ。

少なくても、アクセスログ、場合によってはデバックログ等を取得して
どこが間違っているか自分で見つけなければなりません。

ひょっとしてたら、mod_rewrite が読み込めていない可能性もあるし。

まず、こんなところからやってみましょう。
RewriteLog "/usr/local/var/apache/logs/rewrite.log"

この回答への補足

ご回答、ありがとうございます。

>”設定したけど、うまく行かない”だけでは、解決になりませんよ。
その通りですよね。まだまだ初心者なので切り分ける方法が分からなくてすいません。

RewriteLogの設定を入れてから色々試した後にrewrite.logを見たのですが、空でした。

アクセスログもOn時とOff時とで比較したのですが特に差はありませんでした。

読み込めてないとしたら、Apacheを再インストールすれば回避できるでしょうか?

補足日時:2005/10/13 15:06
    • good
    • 0
この回答へのお礼

> ひょっとしてたら、mod_rewrite が読み込めていない可能性もあるし。

VirtualHostとmod_rewriteを併用していたのが原因でした。
併用するときは<VirtualHost></VirtualHost>の間に入れないといけないんですね。
ありがとうございました。

お礼日時:2005/10/18 20:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!