Так в пустой странице должно быть два условия насколько я понял, сверяет с языком браузера, и в зависимости от этого перенаправляет в нужную папку. Код (Text): <?php $lang = ($_GET['lang'] == 'ru')?'ru':'ua'; header('Location: /ru/'.$lang.'/index.php'); ?><?php $lang = ($_GET['lang'] == 'ua')?'ua':'ru'; header('Location: /ua/'.$lang.'/index.php'); ?>
у меня всё работает, проверь адрес в строке браузера --- Добавлено --- там уже два условия 1-е это если get lang=ru, то кидает на руускую версию сайта, всё остальное (типа дефолт) в папку украинскую --- Добавлено --- header('Location: /ru/'.$lang.'/index.php'); повнимательнее
В корне сайта index.php (пустой с этим кодом), и две папки ru и ua Заработало видно браузер что-то закешировал написал так Код (Text): <?php $lang = ($_GET['lang'] == 'ru')?'ru':'ua'; header('Location: /'.$lang.'/'); ?>
я же написал в чём проблема у меня header('Location: /'.$lang.'/index.php'); у тебя header('Location: /ru/'.$lang.'/index.php'); найди одно отличие
Спасибо, но как оно будет открыватся с молдовы или россии ? С чем сверяет язык ? Сейчас на тестовом серевере всегда с индекса кидает на укр. версию Что с английского интерфейса браузера, что с русского
@Andrey1985, так тебе 2 языка надо или дофигищи? PHP: <?php // языкастый массив, добавляй любые, главное не забывай в папки соответствующие языки раскладывать $arr = array('ua'=>'ua','ru'=>'ru','en'=>'en'); $lang = (in_array($_GET['lang'],$arr)?$arr[$_GET['lang']]:'ua'; header('Location: /'.$lang.'/'); ?> что бы автоматически определяло язык, это совсем другая история, и по большей части не нужная, просто устанавливай куку с нужным языком, если куки нет, то отдавай украинскую версию и в модальном окне предоставляй выбор языка пользователю.
<?php $lang = ($_GET['lang'] == 'ru')?'ru':'ua'; header('Location: /'.$lang.'/'); ?> Это работает отлично, но видется роботом как 302 редирект, что не есть хорошо Нужен 301 редирект
Для 301 редиректа можно сделать так ? Вроде работает Код (Text): <?php $lang = ($_GET['lang'] == 'ru')?'ru':'ua'; header('Location: /' .$lang.'/' ,TRUE,301); exit(); ?>
Привел к такому виду и работает добавил 301 Код (Text): <?php $arr = array('ua'=>'ua','ru'=>'ru'); $lang = (in_array($_GET['lang'],$arr)?$arr[$_GET['lang']]:'ua'); header('Location: /'.$lang.'/' ,TRUE,301); ?>