Многоязычный контроллер не работает - PullRequest
0 голосов
/ 20 апреля 2019

Я использую контроллер переключателя языка для переключения между английским и французским, но ссылки в моем меню не работают

Я думаю, что проблема в моем файле htaccess, но я не могу понять, как это исправить.

Мой header.php:

<?php if ($this->session->userdata('site_lang')!= 'french') { ?>
  <a href="<?php echo base_url(); ?>langswitch/switchLanguage/french">Français</a>
<?php } ?>
<?php if ($this->session->userdata('site_lang')!= 'english') { ?>
  <a href="<?php echo base_url(); ?>langswitch/switchLanguage/english">English</a>
<?php } ?>

Мой route.php:

$route['langswitch/switchLanguage'] = 'langswitch/switchLanguage';
$route['default_controller']= 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes']= FALSE;

Мой .htaccess:


RewriteEngine On
# RewriteBase /
RewriteCond $1 !^(index\.php|assets|images|js|css|upload|favicon.png)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

Обычно, когда я нажимаю на ссылку языка (английский / французский), она должна отображать страницу приветствия на этом языке, но я получаю сообщение об ошибке следующим образом:

Запрошенный URL / «имя моего сайта» / langswitch / switchLanguage / english не найден на этом сервере.

Примечание: если я изменю язык в ($ config ['language' = 'french']) config.php, страница отобразится на этом языке.

И если я наведу указатель мыши на ссылку, она будет правильно отображаться на панели задач следующим образом:

'мой сайт / langswitch / switchLanguage / english'

'мой сайт / langswitch / switchLanguage / french'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...