Joomla! Україна

Коротка адреса мовної версії сайту

09.08.2007, 05:00  |  Прочитано: 16863 раз  |  SEO  |  Автор: Денис Носов

Ті хто використовує JoomFish давно помітили, що при включеному SEF посилання на головну сторінку відображається у вигляді
http://www.site_name.ua/index.php?lang=ua.
У цій статті піде мова про те, як привести такі посилання до "красивого" вигляду.

Щоб позбавитися частини index.php?lang= в адресі головної сторінки однієї із мов, а просто залишити вигляд http://www.site_name.ua/ua/ ми звернемося до можливостей Apach, а точніше до mod_rewrite.

У конфігураційному файлі .htaccess прописуємо після:

RewriteEngine On

наступний код:

RewriteRule ^([A-Za-z]+)/$ index.php?lang=$1
RewriteRule ^([A-Za-z]+)$ index.php?lang=$1

Далі відкриваємо index.php свого шаблону, знаходимо позицію у якій ми виводимо модулі, наприклад lang:

<?php mosLoadModules ( 'lang', -1 ); ?>

Замість цього коду впишемо наступний:

Укр Eng';
}
else {
	mosLoadModules ( 'lang', -1 );
}
?>

Цей код прописуємо для компонента Головної сторінки.

Якщо ми використаємо такий підхід, то відпаде необхідність робити модифікацію компонента JoomFish.

У випадку якщо у нас замість компонента Головної сторінки використовується категорія, розділ або просто статичний матеріал, то замість if ($option == com_frontpage){ можемо використати Itemid, або id категорії, розділу чи матеріалу. Записується це наступним чином: if ($Itemid == 12){ або if ($id == 12){, де 12 - id.

Підсумок

Тепер у нас мовні версії будуть відображатись із короткими URL, а на головній сторінці наш модуль JoomFish компонента замість /index.php?lang=ua буде відображати посилання як /ua.