2014-01-17 7 views
3

У меня есть веб-сайт с двумя языками, он работает в localhost perfect. но когда я запускаю его на производственной среде, и люди пытаются изменить язык, это не работает, им нужно нажать клавишу F5 в браузере, чтобы сайт перезагрузился на выбранном им языке. Есть идеи?? Спасибо ...Язык в codeigniter не работает должным образом

public function __construct() 
    { 
     parent::__construct();  
     $this->lang->load('navmenu', $this->session->userdata('language')); 
     $this->lang->load('search', $this->session->userdata('language')); 
     $this->lang->load('home', $this->session->userdata('language')); 
    } 

/.../ 
function ChangeLanguage ($lang) 
    { 
     $this->session->set_userdata('language', $lang); 
     redirect(base_url()); 
    } 

    anchor('lang/changelanguage/spanish','Español') 
    anchor('lang/changelanguage/english','English') 
+0

Как они меняют язык? Глядя на контроллер, который вы показали, им нужно будет перезагрузить, да. PHP должен читать новые данные сеанса и доставлять новый контент. –

+0

... и что делает функция 'changelanguage'? Я предполагаю, что он устанавливает сеанс, а затем перенаправляет? –

+0

exacly, это то, что меняет язык. Установите язык в сеансе, а затем загрузите его в конструктор класса контроллера –

ответ

1

для отладки это в производственном сервере, вы можете положить временный

error_reporting(E_ALL); 

и посмотреть, что другие ошибки там, что предотвращает надлежащее перенаправлении. Вы также должны проверить заголовки ответов, отправляемые вашим производственным сервером. Имеет ли он «кеш», нужно ли повторное подтверждение заголовка и т. Д.

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