Помощь Мультиязычность. Убрать префикс языка только для index страницы

Статус
В этой теме нельзя размещать новые ответы.

sonicm

Борщ
Регистрация
15 Май 2009
Сообщения
244
Реакции
141
Для сайта используем встроенную в joomla 2.5 мультиязычность. У нас 2 языка Ru и En.
При выборе языка появляется префикс, например Для просмотра ссылки Войди или Зарегистрируйся
Нужно сделать так чтобы у русской (основной) языковой версии у главной (index) страницы НЕ было префикса, а у внутренних был. Т.е. главная = Для просмотра ссылки Войди или Зарегистрируйся внутренняя=Для просмотра ссылки Войди или Зарегистрируйся
Как я понимаю - нужно пилить файл languagefilter.php из plugins\system\languagefilter\languagefilter.php


PS
это нам нужно, чтобы сохранить структуру урлов как у старого сайта. Для SEO.
Подскажите пожалуйста, как правильно запрограммировать.
 
А что открывается по site.ru/ ? такая же страница, как на site.ru/ru/

Можно попробовать парой .htaccess реврайтов обойтись.
/ru/ редиректить на корень
а корень (при необходимости, если site.ru и site.ru/ru/ разные страницы) - реврайтить (внутренним) на /ru/
 
А что открывается по site.ru/ ? такая же страница, как на site.ru/ru/
Если вбить в адресную строку site.ru/ то откроется site.ru/ru/
Т.е. фактически site.ru/ страницы теперь нету, вместо нее site.ru/ru/ - но на деле этот один и тот же - index.php
 
Последнее редактирование:
Если вбить в адресную строку site.ru/ то откроется site.ru/ru/
Нет, откроется либо страница поставленная администратором для всех пользователей как "страница по умолчанию", либо страница с языком, установленным в браузере пользователя как "желательный", если админ сайта выберет этот вариант в настройках.

Т.е. фактически site.ru/ страницы теперь нету, вместо нее site.ru/ru/ - но на деле этот один и тот же - index.php
А это да, во всяком случае старая ссылка на site.ru/ автоматически приведет на site.ru/ru/, (или site.ru/en/) и все ваши ссылки как были ваши, так ваши и останутся и будут вести на существующие страницы, поэтому смысл танцев с бубном от меня лично ускользает.
 
1. Автоматическое определение языка отключено - с ним были проблемы в хроме.
2. "смысл танцев с бубном от меня лично ускользает." - смысл таков, что нам так нужно для SEO, мы обновили сайт и теперь изменился урл главной - раньше от был site.ru/, а все внутренние страниц с допиской /ru/ - теперь и у главной есть этот "хвостик" - его нужно убрать.
 
1. Ну раз отключено, то будет ставить автоматически тот язык, который задан в настройках сайта как "язык по умолчанию". И "никакого" там стоять не может, звездочку все-равно против хоть какого-нибудь языка поставить нужно.
Вот и получается что какой-нибудь префикс все-равно будет там стоять в конце. Потому что к какому-то языку(субдомену вообще-то фактически) это все равно привязано.

2.То ли вы меня не понимаете, то ли я вас... Так ведь давайте начнем с начала, что вообще происходит, когда мы включаем модуль многоязычности? Происходит то, что мы фактически делаем вместо одного сайта несколько, на новоорганизованных внутри сайта субдоменах, по количеству включенных языков. Соответственно увеличивается количество страниц. И количество адресов, ведущим к этим страницам. И отличаются эти страницы префиксом языка в адресе. И контент, выводимый на этих страницах - разный контент, то что мы ставим обычно там просто перевод одних и тех-же статей, так это для пользователя, а вообще мы можем и совершенно разное наполнение и дизайн "одной и той же"(а на самом деле не одной и той-же) страницы на разных языках сделать. То есть, это разные страницы. Вообще разные, понимаете? Просто лежат на одном сайте, на разных субдоменах.

А теперь что вы хотите. То, что вы хотите, это нереально вообще. Вы хотите так настроить сайт, чтоб один и тот-же адрес соответствовал нескольким страницам сайта одновременно. :confused: И оно вам действительно надо?

Может вы не того совсем хотите? Может переформулируете свое желание? То, что вы объяснили про смысл "танцев с бубном" я по прежнему не понимаю. Не нужно объяснять мне, что вы хотите не иметь префикс ru/ у главной, я не совсем тупой и прочитал это еще в первом вашем посте. Лучше объясните, что вы этим добиться хотите и что это вам даст по сравнению с тем, что есть сейчас. Что там у вас не так с SEO? Конкретно? Может это все как-то совсем иначе делать нужно. А то может вы как та блондинка, которая требует срочно платье в горошек и только его, а в действительности хочет, чтоб ее парень ей замуж предложил. Так может есть другой путь, кроме платья в горошек?

Вот, например в плагине многоязычности в настройках можно включить "удалять префикс языков по умолчанию". Может вам в действительности это нужно, а не платье в горошек ru/ с главной убрать?
 
Плате в горошек -- это не совсем то! нам нужно такое же, но с перламутровыми пуговицами :) Объясняю все по пунктам.
1) Мы используем 2 языка. RU / ЕN
2) Включен плагин перехода между языками, и теперь мы имеем:
русская версия:
- Для просмотра ссылки Войди или Зарегистрируйся (главная)
- Для просмотра ссылки Войди или Зарегистрируйся (произвольная внутренняя)

английская версия:
- Для просмотра ссылки Войди или Зарегистрируйся (главная)
- Для просмотра ссылки Войди или Зарегистрируйся (произвольная внутренняя)

3) Теперь о платье.
Нужно перепрограммировать plugins\system\languagefilter\languagefilter.php таким образом, чтобы было
русская версия:
- Для просмотра ссылки Войди или Зарегистрируйся (главная)
- Для просмотра ссылки Войди или Зарегистрируйся (произвольная внутренняя)

английская версия:
- Для просмотра ссылки Войди или Зарегистрируйся (главная)
- Для просмотра ссылки Войди или Зарегистрируйся (произвольная внутренняя)

Вот и вся постановка задачи.
 
На сколько я понял, префикс должен убраться ТОЛЬКО с главнйо?
Удалять префикс языка по умолчанию - удалит на всем сайте.

Тогда наглый редирект через htaccess (помоему синтаксис такой:(
Код:
RewriteEngine On
Redirect 301 /ru http://www.example.com
 
На сколько я понял, префикс должен убраться ТОЛЬКО с главнйо?
Удалять префикс языка по умолчанию - удалит на всем сайте.

Тогда наглый редирект через htaccess (помоему синтаксис такой:(
Код:
RewriteEngine On
Redirect 301 /ru http://www.example.com
Если так в htaccess прописать, то вообще ни одна страница не открывается.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху