不定期更新雑記

[Facebook]【覚書】URLからクエリ文字列を取り除く

Pocket

ちょっとした備忘録。

このブログに投稿した内容をFacebookに配信する方法を実施してみたところ、少し気になることが。

それは、Facebook上に表示されたリンクからこのブログに飛んできた時のURLが無駄に長いということです。

記事のURLの後ろに “?”から始まる見慣れない文字列が。 これが“クエリ文字列(QUERY_STRING)”というものらしいです。 Webアプリなどを作ったりする人にとっては見慣れたものみたいですが、私にとっては謎の文字列。 普通にWebページも見れているし、問題ないかなぁと思っていたのですが、ちょいと問題が… ブログに設置している zenback によって提供されている Tweetボタンで示されるURLも長いものになってしまうのです。

これはよろしくない。きっと。

ということで、URLをリダイレクトしてみることにしました。 blogの個別記事が格納されているディレクトリに 下記内容の.htaccessファイルを配置し、URLのリライトを行えるようにしてみました。

(自分も忘れそうなので)少し解説してみます。

1行目にある RewriteEngine on の指定によりRewriteが有効になります。

2,3行目にある RewriteCond は、条件式みたいなものです。 2行目が「クエリ文字列がある場合」、3行目が「URLに特定のパターンが含まれている場合」という条件を示しています。 これを AND条件 としてリライト対象を選定しています。 (OR条件も指定できるみたいです)

4行目にある RewriteRule は、実際の書き換えルール。 正規表現を用いた文字列置換のようなイメージ。 “/blog/$1?” の末尾のように “?” を付けておくとクエリ文字列は無くなるみたい。 末尾にある [R=301,L] はリライトについてのオプション設定。 [R=301] は、HTTPステータスコード:301 (MovedPermanently) を用いてリダイレクトをすることを示しています。 [L]は、定義の最後(Last)を示しています。今回の場合は書かなくても動作するようですが…

これで、このブログの個別ページへのURLをスマートにすることができましたー。


【追記 2013/04/13】 上記の備忘録は、前のブログ(Serene Bach)での対応内容となっています。 今のブログ(WordPress)では実施していません。 (canonical属性を設定しているため、上記考慮が不要になりました)
※参考:検索評価やソーシャルメディアでシェアされるリンクのURLを統一するのに必要不可欠なcanonical属性とは

, , ,

3 thoughts on “[Facebook]【覚書】URLからクエリ文字列を取り除く

  • マルス より:

    FeedBurnerで検索してこのページに辿り着きました。下記URLには、どのような意味があるのでしょうか?

    前半の「http://prime-time.info/index.php?QBlog-20121215-1」は私のサイトです。後半の「utm_source=feedburne・・・」の意味がわからない。私は「FeedBurner」は利用していませんので。「yatta47」は実在するはてブのユーザーです。

    なんか悪い予感が・・・・。

    http://prime-time.info/index.php?QBlog-20121215-1&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+yatta47_hatebu+(yatta47+%E3%81%AE%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF)

  • rick より:

    はじめまして、マルスさん。

    私もFeedBurnerのコアユーザではないので、詳しくわかりませんが、
    少し調べて見た結果、 http://blog.fkoji.com/2009/11141538.html によると「Google Analytics用のパラメータ」のようです。

    マルスさんのWebページが「はてなブックマーク」に登録され、そのリンクURLがそのURLになっているようです。

    特に悪用されているということではないと思いますので、心配いらないと思います。

    • マルス より:

      こんばんは rickさん。

      お手数かけましてすみません。また悪用ではないということで安心しました。
      ありがとうございます。

      クエリ文字列を取りたく「.htaccessファイルを配置し、URLのリライト」と「canonical属性」を試してみましたが駄目でした。

      サイト作成に使用しているQHMというCMSが対応していない(?)ようです。

      心配を取り除いてくれて本当にありがとうございました。

rick にコメントする コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">