Удаление из URL префикса языка по умолчанию в Joomla 2.5/3

  •   26.07.2013
  •   6 комментариев
  •   Прочее

По умолчанию Joomla добавляет в адреса страниц многоязычных сайтов языковой префикс. Так, русскоязычный контент может находиться по адресу site.com/ru/, англоязычный — по адресу site.com/en/ и т.п. Все бы хорошо, но обычно основной язык на сайте один, остальные второстепенные. И для основного языка нет особого смысла в добавлении префикса.

Удаление из URL префикса языка по умолчанию в Joomla

Особенно это актуально, когда одноязычный сайт становится многоязычным, в результате чего из-за добавления префикса меняется URL у всех страниц.

Как же заставить Джумлу изменить свое стандартное поведение и не отображать приставки (префиксы) в адресах страниц для дефолтного языка?
В сети существует множество рецептов — одни предлагают поставить для решения задачи компонент SH404Sef, другие — хакнуть соответствующий плагин путем внесения изменений в его код. Но это все плохие и некрасивые решения — ставить отдельный компонент ради такой простой фишки нецелесообразно, а хакнутый плагин может быть перезаписан после очередного обновления сайта.

Между тем, у плагина «languagefilter» (фильтр языка) имеются свои настройки, в которые не все догадываются заглянуть. И напрасно. В этих настройках (доступных по Менеджер плагинов: Система — Фильтр языка) есть опция «Удалять префикс языка по умолчанию», активация которой полностью решает нашу задачу. Все, что нужно — полминуты вашего времени и никаких сторонних расширений и хаков.