我有多种文库。和简单的切换器。我有3个郎。 英语,德语和俄语。默认为德语
当检查默认语言时,网站网址看起来像mysite.com,如果更改为en
或ru
网址看起来像 mysite.com/en 和 mysite。 com / ru 当我从en-ru
或ru-en
更改网址时看起来像mysite.com/en/ru并且出现404错误。
切换台是:
<?php
foreach ($languages as $language) {
if ($language['abbr'] == MY_DEFAULT_LANGUAGE_ABBR) {
$cr = trim(uri_string(), '/');
if (strlen($cr) == 2) {
$change_url = base_url();
} else {
$change_url = base_url(preg_replace('/' . MY_LANGUAGE_ABBR . '\//', '', uri_string()));
}
} else {
$u = preg_replace('/' . $language['abbr'] . '\//', '', uri_string());
$change_url = base_url($language['abbr'] . '/' . $u);
}
?>
<li>
<a href="<?= $change_url ?>">
<img src="<?= base_url('attachments/langflags/' . $language['flag']) ?>" alt="<?= $language['name'] ?>">
<span><?= ucfirst($language['name']) ?></span>
</a>
</li>
<?php } ?>
答案 0 :(得分:1)
试试这个:
$replace= array('en/','ru/');
$u = preg_replace('/' . $language['abbr'] . '\//', '', uri_string());
$change_url = base_url($language['abbr'] . '/' . str_replace($replace,'', $u));