Коротка адреса мовної версії сайту
09.08.2007, 05:00 | Прочитано: 17093 раз | SEO | Автор: Денис Носов Друк | E-mail
Ті хто використовує 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.