Убираем ID из ссылок в Joomla

Рейтинг:   / 3
ПлохоОтлично 

Доброго времени суток уважаемый посетитель сайта ITsection.ru.

В этой статье Вы узнаете о некоторой дополнительной возможности Joomla 1.6, Joomla  1.7, Joomla 2.5 Joomla 3.0.

 Joomla

По умолчанию, ели не использовать сторонних плагинов или компонентов, статьи и категории выводятся вместе с ID в адресной строке. То есть адрес статьи имеет вид:

 http://www.site.com/ID-news/ID-articles

Теперь рассмотрим как превратить адрес в человеческий и привычный нам.

 http://www.site.com/news/articles.html

Все это мы будем делать стандартными средствами Joomla. Так как использование сторонних компонентов может осуществлять серьёзную нагрузку на сервер.

В панели управления переходим в общие настройки. Далее на вкладке сайт редактируем Настройки SEO.

Настройки SEO

Если установить такие настройки то ссылки будут уже намного лучше чем были до этого. А если вы хотите писать ссылки на русском можете включить пункт «Алиасы в Unicode».

Но перед тем как нажимать кнопку сохранить нужно переименовать файл «htaccess.txt» в «.htaccess». Этот файл вы можете найти в корне вашего сайта. Теперь можно сохранить изменения.

Теперь избавимся от ID материала в адресе на статью. Похоже это новая не документированная возможность Joomla. Для этого нам нужно отредактировать \administrator\components\com_content\config.xml и добавить в него следующий код:

  <field name="sef_advanced_link"      

       type="radio"
       default="0"
       label="Sef Advanced Mode"
       description="Remove ItemID from Content URL?">
       <option value="0">JNO</option>
       <option value="1">JYES</option>
  </field>
 

Я предлагаю вам вписать его как показано на следующем скриншоте

 sef advanced link

Теперь у Вас появится новый параметр в параметрах Менеджера материалов.

 sef advanced link 2

Если переключить новый параметр в положение «ДА» то в адресе материала «ID» не будут прописываться перед названием статьи.

Также иногда может возникать ошибка 404 для новых материалов. В таком случае нужно изменить еще пару строк в файле router.php по адресу \components\com_content\router.php нужно изменить:

if ($count == 1) {
вы 
if ($count == 1 && !$advanced) {

Итог должен быть таким:

 router

Если вы решитесь на данный эксперимент то помните Автор ответственности не несет. Но решать Вам пользоваться данным советом или нет.

Жду ваших комментариев.

Статистика




counter --> counter -->

Реклама

BitCoin