2013-08-20 125 views
0

我有一個混合的Drupal6和php重定向問題,我真的需要幫助。根據URL將用戶從桌面站點重定向到移動站點

我有一個Drupal 6網站,在子域上有一個較小的移動網站。 我正在構建一個自定義模塊,以根據設備和位置(僅限美國用戶)將網站的訪問者重定向到移動網站。

我使用移動檢測來發現用戶的deviceL:https://github.com/serbanghita/Mobile-Detect

和這個答案讓我的Drupal站點我絕對URL:How to get the full URL of a Drupal page?

到目前爲止,兩件工作正常,但我我不知道如何寫出從一個位置到下一個位置的線條。 我已經得到了需要重定向,將是這個樣子約8特定網址:

http://desktopsite.com/specific-page - >http://m.mobilesite.com/specific-page

我敢肯定,這是一個基本的PHP的事情,但我難倒,並可能真的使用一些指導,以便我可以朝着正確的方向前進。我也試着貢獻Drupal模塊,而是因爲我具備多語言的網站,我不能使用它們(他們不支持的語言)

回答

0

我想我明白你說的話:

// Make a mobile detect object 
$detect = new Mobile_Detect(); 
// Check the device 
if($detect->isMobile()){ 
    // Here is where you put the page you have 
    // i.e. http://desktopsite.com/specific-page; 
    $location = "http://desktopsite.com/specific-page;"; 
    // We need to swap the url in that $location variable 
    $location = str_replace("http://desktopsite","http://m.mobilesite",$location); 
    // Then to a classic redirect 
    header("Location: {$location}"); 
} 
+0

這看起來像是它的開始。如何處理12個不同的URL(如果只有1個桌面站點到1個移動站點,不是多個不同的站點),我會如何使用它作爲基礎? – StephanieF

+0

你提到你已經可以獲得頁面的絕對URL,所以我把'$ location =「http://desktopsite.com/specific-page」; '你會放''location = $ absolute_url_you_got;'然後腳本的其餘部分將在URL的開頭用''http://m.mobilesite''替換''http:// desktopsite「'你的例子,m.mobilesite可能是一個錯字,也許它應該是'm'或'mobilesite',但不是兩者)。然後'header'部分將重定向到該頁面。 – Djave

+0

所以,如果你把它放在你想重定向的任何頁面的開始處,通過修改來獲取你所訪問頁面的絕對url,它應該可以工作。 – Djave

相關問題