2011-07-08 10 views
0

ユーザーがWebページ上のリンクをクリックすると、すべてのリダイレクトのリストを取得する方法を探しています。基本的に、ユーザーがリンクをクリックしたときにアドレスバーに最初に表示されたものを参照したいと思います。問題は、ユーザーがリンクをクリックした後、ウェブサイトが進行してバックグラウンドでユーザーを何度もリダイレクトすることです。PHP/JS - すべてのリダイレクトのリストを取得

セッション変数に参照URLを格納しようとしましたが、単に最後に訪問したリダイレクトを返すだけです。私が興味を持っているのは、おそらくいくつかのレイヤーです。だから私は通過する配列を生成したい。ここで

は、私がこれまで試したものです:

<?php session_start(); if (!isset($_SESSION["origURL"])) $_SESSION["origURL"] = $_SERVER["HTTP_REFERER"]; $redirects = array("1" => $_SESSION["origURL"]); ?>

ソリューションは、PHPやJSまたは両方のコンボのいずれかでなければなりません。

+0

あなたは、現在のページのURLを格納しない理由は? –

+0

リンクが存在するウェブサイトへのコードアクセス権がありません。 – Chamilyan

+0

ウェブサイトにアクセスできない場合は、どのようにPHPを使用できますか? – WASD42

答えて

0

配列を最後のURL文字列ではなくセッションに保存します。

session_start(); 
if(!isset($_SESSION['redirects'])) $_SESSION['redirects'] = array(); 

$_SESSION['redirects'] [] = $_SERVER["HTTP_REFERER"]; 

$_SESSION['redirects']の配列を確認してください。 (あなたは、ページの読み込みのコードを実行できるかどうか)

0

ハックjavascriptのソリューションは、

することができ

その後、サーバー側のコードで は、セッション

に格納された配列を持っています
$_SESSION['myRedirects'].push($_GET['r']); 

後でコードを挿入することができます(JS)場合は、操作が面倒になる...ほとんどのクリックにリスナーを追加する必要があります。 tデフォルトのアクション(preventDefault) - あなたが好きなようにビーコン/ ajaxリクエストを作成し、window.location.hrefをクリックした要素のhref値に変更します。

このソリューションが動作することができます - などのリンクのデフォルトの動作を防止するときに停止される可能性がありますjavascript関数をしかしyouwillがリダイレクトを作り出すリンクするかを決定する必要はありません

関連する問題