• 締切済み

検索記事からURLをそのままにリダイレクトする方法

検索記事からURLをそのままにリダイレクトする方法 YUCASEE MEDIA(ゆかしメディア)(http://media.yucasee.jp/)で使われているリダイレクト法なのですが、 たとえば「プライベートバンク」で検索して、8位ぐらいの 「プライベートバンク | 様々なプライベートバンクについて | YUCASEE ...」の記事タイトルをクリックします。 すると、その記事に直接飛ぶのではなく、一旦、キャンペーンなどのフラッシュのページに飛びます。 その後、URLはそのままでリフレッシュで10秒後に、実際の記事に飛ぶ、という仕組みなのですが、これはいったいどのような方法と考えればよろしいでしょうか? 2度目は直接その記事に飛ぶのです。 できれば具体的に、サンプルソースなどがあれば教えていただければと思っています。

みんなの回答

  • nine999
  • ベストアンサー率44% (512/1140)
回答No.2

1つ前のリンク(URL)は、document.referrerで取得できます。 検索サイトにもよりますが、Yahooなどは検索につかったキーワードがそのままURLに残っています。 その場合、検索ページから飛んでくると、そのページが判りますので、そのままURLにすると利用者と同じ検索ができます。 CGIでURLに検索ワードが残らない処理だとキーワードは不明です。 2回目のアクセスかどうかは、cookieを使うと良いでしょう。 document.cookieでアクセスしたことを読み取り、記録できます。読み取るクッキーがないときは1回目、あれば2回以上ということです。もちろん、アクセスカウンタにして何回アクセスしたかという記録にしても良いでしょう。 これをCGIと組み合わせるとこちらでそのアクセス状況も記録できます。 ブックマークからのアクセスや直接URLを入力してアクセスすると、document.referrerは空になります。 これを利用して、検索やリンクによるアクセスと切り分けることも可能です。

shinyalee
質問者

お礼

回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • nine999
  • ベストアンサー率44% (512/1140)
回答No.1

JavaScriptを使う方法とCGIを使う方法が思いつきます。 どちらも似たような手順ですが、HTMLでフォームを送信する場合、呼び出すファイル(次のページ)にたいして、フォームの内容をURLの後ろに付けて受け渡しています。 CGIでは、常套手段とも言えますが、受け取ったデータを利用してページを作成しますから、CGIにリンク先のURLをデータとして送ります。これはJavaScriptでも同様です。 そして、受け取ったページが広告とリンク先を表示(リフレッシュで転送)すれば言い訳です。 最初のリンクはこんな風に出来ます。 <a href="ad.html?http://www.dammy.com/">www.dammy.com</a> これで、見せかけはwww.dammy.comへのリンクとなりますが、実際はad.htmlへのリンクです。そして、ファイル名の後に「?」を付けて、データが続くことを示します。 CGIの場合は、ad.htmlではなく、ad.cgiになります。 JavaScriptでは、document.location.searchで?以降のデータを取得できますので、ad.htmlが読み込まれた後、取得を実行します。「?」も付いてくるので、1文字目は削除します。 get_data = document.location.search; get_data = get_data .substring(1,get_data .length); あとは、location.href で転送するか、リフレッシュ用のタグを書き出しておけばOKかと。 CGIの場合は、フォームを受け取るCGIのほとんどにその機能がありますので、参考になるものは多数あるかと思います。 parlなら、$ENV{'QUERY_STRING'}で、上記のデータ部分を取得します。 とりあえず、仕組みを理解したいということならJavaScriptでやってみるのが簡単です。 スマートに作り込んだり、リンク先を名簿として作って名簿番号を渡すという手順にするならCGIが良いですね。

shinyalee
質問者

お礼

ご回答ありがとうございます。 基本的な仕組みは教えていただいた、Javaスクリプトで理解できました。 ただ、検索で表示されたリンクワードのURLをそのままJavaスクリプト取得できるのかがよくわからないところです。 1)キーワード検索から飛んできたユーザーには初め、キャンペーンページを見せる。 ↓ 2)10秒後にリフレッシュして、実際の記事に飛ぶ(URLの変更はない) ↓ 3)2回目以降のアクセスでは、キャンペーンページへは飛ばずにダイレクトに記事に。 という一連の流れは、やはりCGIなどになってしまうでしょうか? SEO対策的な目的でこの手法が導入したいと考えています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 特定ページのリダイレクト

    sample.htmlだけをindex.htmlにリダイレクトしたい場合は、 リフレッシュしか方法はないのでしょうか?? .htaccessでリダイレクトする方法があれば教えていただきたいです。 宜しくお願いします!!

  • リダイレクト後のURLにしたい

    Ruby on Railsで controller内で、何か処理を行った後 redirect_to "http://どこかのサイト" とリダイレクトした場合に ブラウザのアドレス欄ではリダイレクト前のURLのままで 表示はリダイレクト先となってしまいます。 アドレス欄の方もリダイレクト先にしたいのですが、何か方法ありませんか?

    • ベストアンサー
    • Ruby
  • リダイレクトの記述方法について教えてください。

    (1)から(2)のURLへリダイレクトする.htaccessの記述方法を教えてください。 (1) http://www.example.com/wordpress/ と http://www.example.com/wordpress           ↓ (2) http://www.example.com/blog/ 但し、リダイレクトしたいのは上記URLだけです。 (1)のURL配下にある個別記事 http://www.exapmle.com/wordpress/?p=123 はリダイレクトしません。 自分で.htaccessに記述したところ、(1)の配下の個別記事までリダイレクトしたため、慌てて削除したところです。 よろしくお願いします。

    • 締切済み
    • CSS
  • 記事のURLについて質問

    自分のブログのURLではなく、 自分の書いた記事のURLはどこでしらべられますか? ブログに商品の記事を書く、というキャンペーンに参加し、 記事は書き終わりましたが、 記事URLの確認方法がわからないので 報告できずにいます。 知っている方、ぜひ教えてください。

  • 相対URLによるリダイレクト

    Locationヘッダに転送先のURLを指定する際に、相対URLをフルパスで指定すると内部リダイレクトになりますが、絶対URLを指定せずにブラウザにリダイレクトさせる方法はないでしょうか。 具体的にはこうです。 URL http://www.xxx.com/dir/from.cgi という位置にスクリプトがあるとして、ドキュメントルートにある「to.html」にリダイレクトさせたい場合、 Location: http://www.xxx.com/to.html と出力するのではなく、 Location: /to.html と出力すると、内部リダイレクトによってブラウザに返されることなく、つまりブラウザの「アドレス」欄はhttp://www.xxx.com/dir/from.cgiのまま「to.html」の内容が表示されるわけですが、そうではなく前者のように動作させたいのです(ブラウザに返してリダイレクトさせたい)。 目的は、ドメインなど絶対URLが変更になっても汎用的にスクリプトを移行できるようにしたい(絶対URLを書かなくて良いようにしたい)のですが、内部リダイレクトでは表示されるHTMLの内容によって、たとえば<img src="./image.gif">など相対パス指定の参照が正しく表示されないためです。 どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • サイトのリダイレクトについて質問です。

    技術的な質問になります。 ホームページのリダイレクトのやり方には、METAを使ったリフレッシュや、htaccessによる方法。phpを使った方法など、いくつかあると思いますが、次のURLがどうやってリダイレクトをしているのかがわかりません。 http://onlinecasino-tips.com/casino/ZIPANG.html お忙しいところ申し訳けありませんが、どのようにリダイレクトをしているのかを教えて頂けますでしょうか?よろしくお願い致します。

  • リダイレクトさせたい

    よろしくお願いしますm(_ _)m 少し前から、趣味でプログラミングをやり始めました。 趣味なので、、しばらく勉強していますが、難しいことはまだ理解できていない状態です。 リダイレクトというものに興味を持ち、今いろいろなサイトをみています。 テキストエリアから、例えばですが、 hanabi taikai というような文字列(テキストエリアは2行あるというイメージです) がインプットされ、取得してきて、 hanabi/taikai/ というURLを生成するとします。 生成されたURLに対して、リダイレクトのURLをくっつけてみようかなと 思っています。 (アンカータグで表示されるリンクURLは、hanabi/taikai/ のままで、 クリックすると、 hanabi/taikai?redirect に一瞬だけ飛び、 hanabi/taikai/ が表示されるようにしてみたいなぁと思っています) リダイレクトとやらの仕組みをまだ理解しきれていないので、 なにか変なことを書いているかもしれません。 初心者な質問と思いお恥ずかしいのですが・・・ やりたいことは、リンクのURLを生成したら、リダイレクトのURLはかくして遷移させる、ということに取り組んでみたいんです。 PHPの関数で、headerってのがありますが、これだとイメージしているような リダイレクトURLは見えていない状態にはならないようです。。 header以外に、何かそのような関数はないものでしょうか? 初めて投稿してみました。 説明がたどたどしいかもしれませんが、よろしくお願いします。

    • 締切済み
    • PHP
  • 301リダイレクトについて

    こんにちわ。 サイトを移転する事になり、301リダイレクトを.htaccessにておこうなう予定でしたが、レンタルサーバーが対応しておらず、困っています。 現在は、応急的にHTML内にRefresh記述で対応していますが、旧ページの情報を引き継ぐ他の方法はないでしょうか? ネットで検索するとPHPで出来るようですが、具体的にどのようにすればいいのか解りません。 PHPだとアドレスが変わるのではないのでしょうか? 初心者で申し訳ないですが教えて頂けないでしょうか?

    • ベストアンサー
    • HTML
  • http://のURLへのアクセスを拒否する方法

    SSL化してhttps://のURLで運用を始めたのですが、これ、そのままだとhttp://のURLでもアクセスできてしまいますよね? .htaccessを使ってリダイレクトする方法が一般的のようですが、いっそのことhttp://の方にアクセスしに来たら拒否する方法はないでしょうか? 変にリダイレクトされるとリンクなどのURLの変更忘れに気づけないし、https://のURLでないとアクセスできないようにしたいです。 よろしくお願いいたします。

  • htaccessのリダイレクト記述

    .htaccess リダイレクトについて教えてください。 今まで、WordPressをサブドメインで使っていましたが、新しいドメインに移転します。 今までのURLは、http://old.com/wp/ 新しいURLは、http://new.com となります。 それぞれの記事が検索エンジンに掲載されいますので、それぞれの記事がリダイレクトでそれぞれの記事を表示することが希望です。下記の記述で正しいでしょうか? RewriteEngine on RewriteBase /old.com/wp/ RewriteRule ^$ http://new.com/ [R=301,L] RewriteRule ^(.+)$ http://new.com/$1 [R=301,L] 宜しくお願いいたします。

    • ベストアンサー
    • HTML