プロが教える店舗&オフィスのセキュリティ対策術

mod_rewriteで$_GETが受け取れない現象の原因が分からず、困っています。
前の質問は、内容に間違いがあったため、削除して書き直します。

公開サーバはVineLinux3.2でApache2を動かしています。
ドキュメントルートに以下の内容の.htaccessを配置しています。

RewriteEngine on
RewriteRule ^index/([a-z0-9A-Z_]*)?$ index.php?action=$1
RewriteRule ^index/([a-z0-9A-Z_]+)/([a-z0-9A-Z_]+)/([a-z0-9A-Z_]+)$ index.php?action=$1&type=$2&value=$3

ところが、
index/hogehogeにアクセスしても、
index.phpの結果しか返ってきません。

index.phpでvar_dump($_GET);を実行した結果は、
array(0) {}となります。

WindowXP + XAMPP1.6.6a で構築したローカル環境では期待通り、
index/hogehogeにアクセスすることでindex.php?action=hogehogeの結果が返ってきます。

どこに原因があるのか全く分からず、困っております。
宜しくお願いします。

A 回答 (1件)

もしかしてapache側で.htaccessを許可していない設定になっているとかいうオチ?


の可能性もありますよ。

この回答への補足

ご回答ありがとうございます。
ためしに、

order deny,allow
deny from all

を書いた.htaccessのディレクトリのファイルにアクセスすると、
きちんと403が返ってくるので、.htaccessは有効になっているはずです。
少なくとも、index/hogehogeにアクセスしてindex.phpの結果が返ってくるということは、.htaccessに書かれたRewriteRuleが全く反映されてないわけではないはずだと思うのですが…。
宜しくお願いします。

補足日時:2008/10/09 00:45
    • good
    • 0

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