質問: ### 前提・実現したいこと mod_rewrite httpd.conf にて、付加されているクエリを分けて、リダイレクトをかけたいと考えております。 例) https://www.hogehoge.com/item/?genre=**12345** ↓ https://www.hogehoge.com/item/?genre1=**123**&genre2=**45** ※genreの12345を分けて、genre1に123、genre2に45を渡したい。 この場合のRewriteRuleの書き方がわからず、四苦八苦しております。 クエリを任意の文字数で切り、分ける方法がありましたらご教示お願いしたく存じます。 ### 該当のソースコード ``` RewriteCond %{QUERY_STRING} (^|&)genre=(\d+)(.*)$ RewriteRule ^/item/ https://www.hogehoge.com/item/genre1=(不明)&genre2=(不明) [R=301,L] ``` ### 補足情報(FW/ツールのバージョンなど) 当方、IIS上にて、Helicon Tech社のISAPI_Rewrite 3を利用しております。 https://www.helicontech.com/isapi_rewrite/download.html
回答: How can I match query string variables with mod_rewrite? 上記のスレッドによると・・・ ``` RewriteCond %{QUERY_STRING} genre=(\d{3})(\d{2}) RewiteRule ^/item /%1/%2? [R=301,L] ``` こんな感じでいけそうですが、いかがでしょうか。 RewriteCond側でキャプチャしたマッチは$1,$2ではなく%1,%2で表記する点と、書き換え後の文字列の最後に?を付けるのがポイントみたいです。 ご参考になれば。