2015年1月23日金曜日

[mod_rewrite] クエリーを条件にリダイレクトさせる

あるサイトの商品ページにお問い合わせフォームを追加することになったので、 そのページをhttpsで遷移するようにして、 またそれに伴いhttpでアクセスしたユーザーをhttpsにリダイレクトすることにした。 そのページを表すクエリーを条件にリダイレクトしようとしたけど、 クエリが取得できてないようで暫く悩みました。 webをうろうろしているとクエリーは %{QUERY_STRING} に入っていることを知った。 RewriteCondで条件を付けて解決。
 
    RewriteEngine on
    RewriteCond %{HTTPS} on
    RewriteCond %{QUERY_STRING} page_name
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]