Отключение ID материала в адресной строке Joomla

Будем работать с файлом :

ваш_сайт/components/com_content/router.php

Находим строку (~ 27 строка):

$advanced = $params->get('sef_advanced_link', 0);

И меняем её на:

$advanced = $params->get('sef_advanced_link', 1);

Далее находим строку (в Joomla 2.5 ~ 228 строка, в Joomla 3 ~ 250):

$advanced = $params->get('sef_advanced_link', 0);

И меняем её на:

$advanced = $params->get('sef_advanced_link', 1);

Находим строку с кодом(в Joomla 2.5 ~ строка 228, в Joomla 3 ~ строка 272) :

if (strpos($segments[0], ':') === false) {
 $vars['view'] = 'article';
 $vars['id'] = (int) $segments[0];
 return $vars; }

И закомментируем ее или удаляем. Теперь ссылки на Вашем сайте будут отображаться без ID материалов.

Однако в Joomla 3 могут появиться ошибки 404 при использовании данного способа.
Если при переходе по ссылкам без ID у Вас возникает 404 ошибка, то ищем в файле :

ваш_сайт/components/com_content/router.php

(~ строку 376):

where($db->quoteName('alias') . ' = ' . $db->quote($db->quote($segment)));

И меняем её на:

where($db->quoteName('alias') . ' = ' . $db->quote($segment));

Теперь ссылки должны работать и отображаться корректно и без ошибок.