多语言控制器路由不起作用

时间:2019-04-20 19:58:16

标签: codeigniter

我正在使用语言切换器控制器在英语和法语之间切换,但是我的菜单链接不起作用

我认为问题出在我的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 / switch语言/英语”

“我的网站/ langswitch / switch语言/法语”

0 个答案:

没有答案