2012-01-25 3 views
1

Мы запускаем веб-сайт с английской версией в корневом каталоге http://www.mywebsite.com и чешской версией в папке «cs» http: // www .mywebsite.com/CSСсылки перенаправления на основе текущего URL-адреса

с помощью нашего предыдущего сайта мы обрабатываются обе версии языка в корневом каталоге, но с английскими файлами как стандартные имена файлов (например: 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

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

ответ

1
<?php   
$path = str_replace('/cs/','',$_SERVER['REQUEST_URI']);  
$cz_url = 'http://mywebsite.com/cs/'.$path; 
$en_url = 'http://mywebsite.com'.$path; 
?> 

Update

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

<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> 
+0

Ммма, я могу найти ошибку синтаксиса здесь ... – JoeW

+0

@JoeW: обновленную мой Anwer. –

+1

Отличная работа Zulkhaery Basrul! Большое спасибо! – JoeW

Смежные вопросы