2014-08-29 28 views
0

我使用addthis進行共享,框架是Code Igniter。如果會話設置在codeigniter中,Facebook無法取消我的網址

問題是如果在我的控制器我檢查會話然後Facebook不能廢除我的url.If我刪除會話,然後它工作。那麼我能做些什麼來工作fb與會話共享。

下面的代碼工作:
controller

public function index() 
{ 
    $this->load->view('client/home'); 
} 

如果當時我檢查會話FB共享不工作:

public function index() 
{ 
    if(!$this->session->userdata('client_id')) 
    { 
     redirect('client/login/index', 'refresh'); 
     exit; 
    } 
    $this->load->view('client/home'); 
} 

在此先感謝。

旁註:我設置會話時,客戶登錄到網站。所以當客戶點擊FB共享按鈕會話已經設置。

回答

2

嘗試代碼的此修改的版本:

public function index() 
{ 
    if(!$this->session->userdata('client_id') && !strstr($_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit')) 
    { 
     redirect('client/login/index', 'refresh'); 
     exit; 
    } 
    $this->load->view('client/home'); 
} 

我已經添加的情況下,它檢查以查看是否用戶代理是Facebook的刮刀(facebookexternalhit)。如果用戶代理不是Faecebook,它會強制登錄。 (請記住,用戶代理可能被欺騙)。如果它檢測到Facebook,它將加載該頁面並允許Facebook正確地抓取內容。

+0

謝謝你的幫助。它是有益的。 – DS9 2014-08-29 10:47:25