2011-01-21 17 views
3

當移動用戶查看我的網站時,他們被重定向到移動版本。我有一個「查看完整」選項,允許他們查看實際站點。問題是,他們什麼時候會將他們重定向回去。有沒有繞過重定向或只是第一次重定向?如何讓移動用戶繞過重定向?

回答

5

據我所知,幾乎所有的移動瀏覽器都支持基本的cookie。 PHP setcookiedocumentation here)將允許你做這樣的事情:

setcookie('default_view', MOBILE); 

MOBILE定義的時間提前。您也可以在這裏免費使用字符串。

好處是你一旦設置了這個cookie就不用擔心查詢字符串。 SLaks'解決方案可以正常工作,但是您必須注意將redirect=false附加到每個具有重定向檢查器的URL。

2

您可以添加查詢,如?redirect=false
重定向之前,請檢查此查詢字符串。

+0

有沒有一種方法來保存這個查詢字符串(例如,在服務器配置文件或其他東西),所以你不必重構現有的鏈接? – 2011-01-21 15:13:22

+0

@Steven:那是什麼意思? (除了使用cookie) – SLaks 2011-01-21 15:14:08

+0

那麼假設應用程序代碼有一大堆鏈接返回到主頁(假設現在只有對主頁的請求完成重定向)。如果在請求中傳遞了查詢字符串,您是否不必手動返回所有這些鏈接並添加`redirect = false`? – 2011-01-21 15:20:54

1

添加到SLaks的答案,你可以添加一個cookie'redirect = false'。這樣做的好處是,您不必在每個鏈接上放置GET參數,因此即使在遵循內部鏈接之後,人們仍然可以保持在正常頁面上。

0

我建議你使用的是數據庫。當有人進入您的網站時,請寫下每個用戶的IP以及該網站的版本。

| _ __ _ ID _ __ _ __ |網站版本|

| 88.75.125.xxx |正常|

| 93.108.111.xxx |手機|

當用戶更改版本時,您可以編輯正確的ID。

1

我是用會話做的。我檢查HTTP_REFERER以查看我們的移動地址是否在使用strpos的地址中。如果是,那我設置一個會話值。只要會話仍處於活動狀態,他們就可以使用完整網站。如果他們返回到移動網站會話被破壞。完美的作品!