- 締切済み
mod_rewriteルールの正しさについて
お世話になります。 mod_rewriteについて勉強を始め、動的ページを擬似静的ページに変換するルールを記述しようとしているのですが、一向に上手くいきません。。 どなたかアドバイスいただけませんでしょうか? 以下が、実際に組んでいるルールです。 -------------------------------------- RewriteEngine on RewriteRule ^/m/plan/detail/([0-9]+).php$ /m/plan/detail.php?gdid=$1 [L] -------------------------------------- として、例えば http://www.hoge.jp/m/plan/detail/1000.php にアクセスがあった場合に、 http://www.hoge.jp/m/plan/detail.php?gdid=1000 の中身を表示させたいのですが、 「ファイルがありません」の404エラーが返ってきます。。 ちなみに、rewriteモジュールが正しく動作することは確認出来ており、 例えば、 -------------------------------------- RewriteCond %{HTTP_USER_AGENT} (DoCoMo|Vodafone|J-PHONE|SoftBank|UP\.Browser|KDDI|Googlebot-Mobile|Y!J|Nokia) RewriteCond %{REQUEST_URI} !^/m/ RewriteRule ^(.*)\.php$ /m/$1.php [L] -------------------------------------- のようなモバイルサイトとPCサイトのURL正規化ルールは問題なく動きます。 お手数ですが、どなたかアドバイスいただけますと幸いです。
- みんなの回答 (3)
- 専門家の回答
補足
そうですよね。。。 「^/m/plan/detail/([0-9]+).php$」で問題ないと思っていたのですが、 とある書籍に「場合によっては先頭の「/」が邪魔をすることもある」という記述があったもので、試してみたところ見事に動いてしまいました。 今後の参考になればと思い、報告させていただきましたが、 以前、根本的な原因はわからずじまいですので、気長に勉強してみます。