powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Небольшой мультиязычный сайт
6 сообщений из 6, страница 1 из 1
Небольшой мультиязычный сайт
    #38700909
PHPist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Создаю небольшой мультиязычный сайт, пара страниц. Языка всего 2 - русский (страницы этого языка хранятся в папке ru) и английский (папка en). В корневом каталоге сайта есть файл Index.html, в котором вызывается php-скрипт, определяющий предпочтительный язык для вошедшего пользователя, и, соответственно, перенаправляющий пользователя на страницу с этим языком:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
$language = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
switch ($language){
    case 'ru':
        header('Location: http://www.site/ru/main.htm');
        break;  
    default:
        header('Location: http://www.site/en/main.htm');
        break;
}
?>



Подобный же скрипт запускается и на всех остальных страницах. Это сделано для того, чтобы при запуске любой страницы пользователь перенаправлялся на ее копию на соответствующем ему языке. Но подобная операция вызывает бесконечный переход по ссылкам. Что можно сделать, чтобы бесконечного перехода не возникало и правильный ли, вообще, это подход? Могу предположить, что в предоставленном скрипте нужно добавить строку с проверкой: если текущий адрес содержит в себе значение переменной $language, то скрипт выполняться не будет. Если это так, то помогите исправить скрипт, так как с php я не знаком.
...
Рейтинг: 0 / 0
Небольшой мультиязычный сайт
    #38700924
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавить пользователю возможность самому выбрать версию сайта путём размещения ссылки на смену языка. То есть его сначала редиректит по браузерному заголовку, а затем если это не его язык (например русский установил английскую версию браузера или находится в отпуске за границей в интернет-кафе и т.д.), то он сам выберет из списка нужный язык. Если url разные, то можно просто реплейсить en/ru.
...
Рейтинг: 0 / 0
Небольшой мультиязычный сайт
    #38700970
PHPist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А как быть с перенаправлением на предпочтительный язык на каждой странице сайта (если пользователь зашел с поисковика не на главную страницу)? Или это не нужно, и перенаправлять надо только при вводе адреса сайта в браузерную строку (с Index.html)?
...
Рейтинг: 0 / 0
Небольшой мультиязычный сайт
    #38700987
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По приоритету url главнее всего. Если пользователь попал не на главную, то показывать страницу на языке /en/ru/ из url. А дальше пользователь сам выберет нужный ему язык, если текущий не устраивает. Некоторые при несовпадении языка в url и браузерного ACCEPT_LANGUAGE показывают попап с возможностью выбора языка.
...
Рейтинг: 0 / 0
Небольшой мультиязычный сайт
    #38701553
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше разберитесь, почему циклическое перенаправление возникает
...
Рейтинг: 0 / 0
Небольшой мультиязычный сайт
    #38701556
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterЛучше разберитесь, почему циклическое перенаправление возникает

То есть, если текущая страница = странице редиректа, то не перенаправляем. И лучше мне кажется не хранить несколько страниц (так как поддерживать надо и тп), а сделать шаблонную страницу и в ней заменять надписи соответствующим языком
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Небольшой мультиязычный сайт
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]