技術ブログ
.htaccessの環境変数で?hoge=以降を受け取る|幡司

やー、悩みました。
.htaccessを使ってhttp:// から https://にリダイレクトをしたいけど、特定のURLだけリダイレクトしたくない
というとき、調べてよく出てくるのは
RewriteCond %{REQUEST_URI} !\.rss$
RewriteRule ^(.*)$ https://hogehoge.jp/$1 [R=301,L]というやつです。(今回はRSSのURLだけ除外したかったので)
でもこの式だと
http://hogehoge.jp/index.php?url=foofoo/index.rssみたいなURLを判定することが出来ません。
で、この
?url=**********
の部分を何ていうのかよくわからなかったので調べるのに苦労しました。
「getのパラメータ」とググれば出てくるんですね。言われてみれば確かに。w
そして環境変数は QUERY_STRING で受け取れるそうです。
というわけで今回のさくらのサーバーでのhttp:// → https:// リダイレクトは
RewriteEngine on
RewriteCond %{REQUEST_URI} !\.rss$
RewriteCond %{QUERY_STRING} !\.rss$
RewriteRule ^(.*)$ https://hogehoge.jp/$1 [R=301,L]となりました。
めでたしめでたし。
NEWS一覧へ
