未分類

mod_rewriteメモ – fb_action_idsやutm_source、utm_mediumなどのクエリパラメータを無視する

ふと自分でLikeした自分のブログエントリが見えないことに気がつきました。

URLは /diary/2012/12/03/1354464180000.html?fb_action_ids=****&fb_action_types=********** といった形になっておりFacebookがトラッキング用か何かのために付けてくれているクエリパラメータのようです。
自宅サーバーで使っているPebbleが「そんなパラメータ知らない」と返事してしまうようです。無視してくれればいいのに・・。
Pebble側を修正してもいいのですが、ビルド環境が整っていなかったのでmod_rewriteで対応することに。
が、以前もはまったことがあるんだけどmod_rewriteのマッチ表現はクエリパラメータは見ない仕様なので、ReweriteCondというものを使うことに。

以下のように書いたらPebble側にはクエリパラメータが伝わらなくなり、正常に見られるようになりました。

RewriteCond %{QUERY_STRING} ^.*
RewriteRule ^/diary/(.*)$ /diary/$1?
RewriteRule ^/blog/(.*)$ /diary/$1?