Перенаправление ссылок на основе текущего URL - PullRequest
1 голос
/ 25 января 2012

У нас есть веб-сайт с английской версией в корневом каталоге http://www.mywebsite.com и чешской версией в папке с именем 'cs' http://www.mywebsite.com/cs

На нашем предыдущем веб-сайте мы обрабатывали оба языкаверсии в корневом каталоге, но с английскими файлами в качестве стандартных имен файлов (например, index.php) и чешскими файлами с добавлением _cz, добавляемым к имени файла (например: index_.php. Затем у нас было две кнопки флага в верхней частивеб-сайт, чтобы можно было вызывать каждую языковую версию каждой конкретной страницы, соответствующая часть кода заголовка такова:

href="http://www.mywebsite.cz<?php echo str_replace('.', '_cz.', $_SERVER['PHP_SELF']);?>"
href="http://www.mywebsite.com<?php echo str_replace('_cz.', '.', $_SERVER['PHP_SELF']);?>"

Так что это фон. Наш новый веб-сайт имеет страницы, созданные динамически с использованием CodeIgniter. Мынеобходимо изменить приведенный выше код так, чтобы, когда пользователь находился на странице на английском языке (например: http://www.mywebsite.com/home/signup) для кнопки чешского флага показывалось http://www.mywebsite.com/cs/home/signup

, а затем наоборот для чешских страниц - cs / будет удален из URL. Можете ли вы помочь, изменив вышеуказанный код аналогично оригинальной операции? Большое спасибо!

1 Ответ

1 голос
/ 25 января 2012
<?php        
$path = str_replace('/cs/','',$_SERVER['REQUEST_URI']);    
$cz_url = 'http://mywebsite.com/cs/'.$path; 
$en_url = 'http://mywebsite.com'.$path; 
?>

Обновление

Если я правильно понимаю, что вы имеете в виду, может быть что-то вроде:

<a href="http://mywebsite.com/cs<?php echo trim(str_replace('/cs/','',$_SERVER['REQUEST_URI']),'/'); ?>">Czech</a> 
<a href="http://mywebsite.com/<?php echo trim(str_replace('/cs/','',$_SERVER['REQUEST_URI']),'/'); ?>">English</a> 
...