2011-12-24 2 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

Это немного глупо проблема, и я гугле везде, но никакого ответа не связаны между собой, поэтому любая помощь будет оценена по достоинству.

+0

Вам необходимо проверить фактически отправленные заголовки (с помощью 'wget -S' или Firebug и т. Д.). Вероятно, он отправляет заголовок 'headers (« Refresh: 0; url = '//www.test.com/dashboard »);' или имеет пробел сразу после префикса 'http:' схемы. Покажите нам реализацию 'redirect()'. – mario

ответ

2

Ну, ладно, посмотрел. Это redirect() реализация с CodeIgniter (1.7.1):

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

Не очень, но не должно вызывать проблемы вы описали. Так или иначе, пространство все еще проскальзывало. Я подозреваю, что это непечатаемый вариант пространства Unicode, и ваш браузер позже переводит его в нормальное пространство. - Возможно, это также вызов $uri=site_url($uri), упомянутый в этой очень полезной функции, но не выглядел так. Возможно, это неправильный код сайта.

Альтернатива просто пытается нормальный location перенаправление.

redirect('dashboard'); 
+0

woahhhhh, ты такой потрясающий чувак !!! Вы просто спасли мои часы жизни! Спасибо большое! –

Смежные вопросы