1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

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

Тема в разделе "Joomla", создана пользователем sonicm, 10 окт 2013.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, Genk0
  1. sonicm

    sonicm

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


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

    esche

    Регистр.:
    9 авг 2009
    Сообщения:
    360
    Симпатии:
    243
    А что открывается по site.ru/ ? такая же страница, как на site.ru/ru/

    Можно попробовать парой .htaccess реврайтов обойтись.
    /ru/ редиректить на корень
    а корень (при необходимости, если site.ru и site.ru/ru/ разные страницы) - реврайтить (внутренним) на /ru/
     
  3. sonicm

    sonicm

    Регистр.:
    15 май 2009
    Сообщения:
    186
    Симпатии:
    81
    Если вбить в адресную строку site.ru/ то откроется site.ru/ru/
    Т.е. фактически site.ru/ страницы теперь нету, вместо нее site.ru/ru/ - но на деле этот один и тот же - index.php
     
    Последнее редактирование: 10 окт 2013
  4. skivi

    skivi Писатель

    Регистр.:
    22 янв 2013
    Сообщения:
    3
    Симпатии:
    1
    Нет, откроется либо страница поставленная администратором для всех пользователей как "страница по умолчанию", либо страница с языком, установленным в браузере пользователя как "желательный", если админ сайта выберет этот вариант в настройках.

    А это да, во всяком случае старая ссылка на site.ru/ автоматически приведет на site.ru/ru/, (или site.ru/en/) и все ваши ссылки как были ваши, так ваши и останутся и будут вести на существующие страницы, поэтому смысл танцев с бубном от меня лично ускользает.
     
  5. sonicm

    sonicm

    Регистр.:
    15 май 2009
    Сообщения:
    186
    Симпатии:
    81
    1. Автоматическое определение языка отключено - с ним были проблемы в хроме.
    2. "смысл танцев с бубном от меня лично ускользает." - смысл таков, что нам так нужно для SEO, мы обновили сайт и теперь изменился урл главной - раньше от был site.ru/, а все внутренние страниц с допиской /ru/ - теперь и у главной есть этот "хвостик" - его нужно убрать.
     
  6. skivi

    skivi Писатель

    Регистр.:
    22 янв 2013
    Сообщения:
    3
    Симпатии:
    1
    1. Ну раз отключено, то будет ставить автоматически тот язык, который задан в настройках сайта как "язык по умолчанию". И "никакого" там стоять не может, звездочку все-равно против хоть какого-нибудь языка поставить нужно.
    Вот и получается что какой-нибудь префикс все-равно будет там стоять в конце. Потому что к какому-то языку(субдомену вообще-то фактически) это все равно привязано.

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

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

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

    Вот, например в плагине многоязычности в настройках можно включить "удалять префикс языков по умолчанию". Может вам в действительности это нужно, а не платье в горошек ru/ с главной убрать?
     
    sonicm нравится это.
  7. sonicm

    sonicm

    Регистр.:
    15 май 2009
    Сообщения:
    186
    Симпатии:
    81
    Плате в горошек -- это не совсем то! нам нужно такое же, но с перламутровыми пуговицами :) Объясняю все по пунктам.
    1) Мы используем 2 языка. RU / ЕN
    2) Включен плагин перехода между языками, и теперь мы имеем:
    русская версия:
    - http://site.ru/ru/ (главная)
    - http://site.ru/ru/anyinnerpage/ (произвольная внутренняя)

    английская версия:
    - http://site.ru/en/ (главная)
    - http://site.ru/en/anyinnerpage/ (произвольная внутренняя)

    3) Теперь о платье.
    Нужно перепрограммировать plugins\system\languagefilter\languagefilter.php таким образом, чтобы было
    русская версия:
    - http://site.ru/ (главная)
    - http://site.ru/ru/anyinnerpage/ (произвольная внутренняя)

    английская версия:
    - http://site.ru/en/ (главная)
    - http://site.ru/en/anyinnerpage/ (произвольная внутренняя)

    Вот и вся постановка задачи.
     
  8. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    На сколько я понял, префикс должен убраться ТОЛЬКО с главнйо?
    Удалять префикс языка по умолчанию - удалит на всем сайте.

    Тогда наглый редирект через htaccess (помоему синтаксис такой:(
    Код:
    RewriteEngine On
    Redirect 301 /ru http://www.example.com
     
  9. sonicm

    sonicm

    Регистр.:
    15 май 2009
    Сообщения:
    186
    Симпатии:
    81
    Если так в htaccess прописать, то вообще ни одна страница не открывается.
     
  10. Genk0

    Genk0 Инквизитор из раздела J!

    Moderator
    Регистр.:
    2 июн 2010
    Сообщения:
    1.639
    Симпатии:
    1.337
    Ну значит что то неправильно. Кто ж гадать будет?! Пиши в ЛС
     
Статус темы:
Закрыта.