2011-12-24 16 views
1

私はここで助けが必要です。Codeigniterがリモートサーバで正しくリダイレ​​クトされない

CIがリモートサーバーで正しくリダイレ​​クトされない理由を尋ねますか? 私のlocalhostのすべてが問題なく動作します。例えば

:私が正常にログイン

class Login extends CI_Controller { 
    function index() { 
     //bla bla bla 
     redirect('dashboard','refresh'); 
    } 
} 

した後、私はURLを取得:http://www.test.com/%20//www.test.com/dashboard の代わり:http://www.test.com/dashboard

これは少し愚かな問題であり、私はどこでもGoogleで検索しましたが、何の答えは関連のありません、だから助けてくれれば幸いです。

+0

実際に送信されたヘッダー( 'wget -S'やFirebugなど)を調べる必要があります。それはおそらく 'headers(" Refresh:0; url = '//www.test.com/dashboard' ");ヘッダを送るか、またはスキーム' http: 'の直後にスペースを入れます。 'redirect()'実装を見せてください。 – mario

答えて

2

まあ、大丈夫です。これは、CodeIgniterの(1.7.1)からredirect()実装です:

   case 'refresh' : header("Refresh:0;url=".$uri); 

ないきれいな、しかし、あなたが説明した問題が発生することはありません。どういうわけか、まだスペースが入っていませんでした。私はそれが非Unicodeスペースの変形版だと思っています。そして、あなたのブラウザは後でそれを通常のスペースに変換します。 - それは非常にヘルプ機能に記載されている$uri=site_url($uri)コールかもしれませんが、それを見ていませんでした。サイトのミスコンフェイスになっている可能性があります。

代わりに通常のlocationリダイレクトを試しています。

redirect('dashboard'); 
+0

woahhhhh、あなたはとても素晴らしいよ!あなたは私の人生の時間を救っただけです! ありがとう! –

関連する問題