2009-07-06 101 views
0

我需要能夠確定用戶來自哪個頁面,以確定顯示哪些鏈接,例如麪包屑或指向上一個下一個項目的鏈接。這基本上是PHP中的HTTP_REFERER功能,但我需要一種跨多頁進行跟蹤的方法。我還需要「支持」後退按鈕。如何跟蹤引薦頁面以創建其他鏈接?

我注意到Facebook使用「ref」的查詢/獲取參數來跟蹤引用頁面。 (他們也避免使用AJAX重新加載整個頁面,但我現在沒有預算來做這件事。)此外,我正在處理的網站需要由Google編制索引,因此此方法也將要求我添加canonical link tag

我想知道ref/referrer查詢參數是最好的方法還是其他選項?

回答

3

如果你想要麪包屑,你根本不應該使用HTTP_REFERER。不管它們來自哪裏,它都應該是合乎邏輯的路徑,例如User > Albums > AlbumName > Photo,即使它們來自他們的朋友給他們的直接鏈接。也就是說,如果您確實想要返回幾頁,請將它們作爲一個數組存儲在SESSION變量中。

我很確定Facebook只使用ref GET變量來收集用戶使用哪些按鈕的一些統計信息,因爲有多種方式可以訪問同一頁面。

這些都不應該打破後退按鈕,或干擾您的規範標籤。


從評論:你可以使用一個?ref=blah標籤,或會話變量,($_SESSION['history'][0] = $_SERVER['HTTP_REFERER']REQUEST_URI)。使用任何你覺得最簡單的東西。會話變量依賴cookie或通過URL傳遞ID,GET只是使URL變得混亂,並可能傳遞給朋友。

+0

我不知道我得到你在說什麼。不,我知道我無法使用sesion,因爲人們在查看頁面之前沒有查看任何其他頁面。我知道我不能使用HTTP_REFERER。那麼,你是說ref標籤是最好的還是別的什麼?你似乎認爲一切都是錯誤的。 – 2009-07-06 04:27:33