我正在使用多語言腳本從lanquage更改。 現在我有麻煩從語言改變,當我在默認語言(英語)多語言網站:切換語言
該網站看起來像:
example.com (Main directory)
example.com/fr/
example.com/es/
當我在example.com/fr/ blabla/index,我想去example.com/es/blabla/index它工作正常。
但是,當我在example.com/blabla/index,我想要去example.com/fr/blabla/index。我重定向到example.com/fr/index
我使用:
<?php
function switchLanguage($lang) {
$u = explode('/', $_SERVER['REQUEST_URI']);
$u[1] = $lang;
return implode('/', $u);
}
?>
所以,這是我不重定向到正確的路徑,因爲沒有目錄/英文邏輯。
我在想是否有可能使用數組重寫網址? 事情是這樣的:
<?php
function switchLanguage($lang)
$array1 = array(' ', $_SERVER['REQUEST_URI']);
$array2 = array('$lang', ' ');
$newArray = array_combine($array1, $array2);
foreach ($newArray as $key) {
echo "$key $value";
}
?>
但我怎麼能得到一個網址的價值或者我要去哪裏錯了。
使用一個數據庫或的.ini和geoip的緩存是不是一種選擇
您能否向我解釋一件事:當您訪問example.com/fr/blabla/index時,您將重定向到example.com/fr/index。然後你說「沒有目錄/英文」。那「eng」來自哪裏? –
您的腳本是否仍然默認語言爲您想要重定向到的路徑? –
幾乎在那裏,它看起來很有希望! 我現在好希望解釋一下: 訪問者在頁面上: Example.com/sub1/index.php 他要改變語言爲西班牙語。 我想要重定向是: Example.com/es/sub1/index.php 但現在他(還是)要: Example.com/es/的index.php 所以目錄SUB1必須在/ es/ –