- 締切済み
ApacheのRewriteRuleについて
ApacheのRewriteRuleで困っています。 以下のURLを /gr/15bd60625f36edee4051b82e021d7a7f1137487409.php?categoryID=1&TitleID=38 このようなURLに置き換えて実行させようと思っています。 /grco/index.php?cat=1&id=38 mod_rewriteを導入し(動作確認済み) Apacheのhttpd.confに以下の定義を追加しいろいろと やっていますが・・うまくいきません。 URLの?がうまく処理できていないようです。 引数部分の置き換えができていません。 RewriteRule ^/gr/(.*)(.\.php)([^\?]*)(.*)$ /grco/index.php?cat=$1&id=$2 [L] 何か指定に問題があるのでしょうか? お手数ですが、ご存知の方がいらっしゃいましたら アドバイス等いただければと思います。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- php504
- ベストアンサー率42% (926/2160)
回答No.1
RewriteRuleではquery stringのマッチは出来ません 参考URLのNote: Query Stringのところを読んでみたください。 ?以下をそのまま渡して良ければ RewriteRule ^/gr/.+\.php$ /grco/index.php?%{QUERY_STRING} [L] で出来ますがQueryの内容を変更する場合にはRewriteCondで行う必要があります。