Открываем в любимом редакторе (мой - Geany) components\com_content\router.php и вносим небольшие изменения:

В функции ContentBuildRoute(&$query) меняем строку 27

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

на

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


В функции ContentParseRoute($segments) меняем строку 208

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

на

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


Закомментируем строки 228-232:

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


И все.

Для начала, если посмотреть на строки 27 и 208, то видно, что в компоненте используется параметр sef_advanced_link , которому по-умолчанию присваивается значение 0. Этот параметр нигде в админке не встречается - можно сделать вывод, что создатели Жумлы все это предусмотрели, но не успели оттестировать, и потому не включили в релиз. По этой причине, данный параметр всегда указывает, что опция скрытия ID в URL всегда выключена. Мы ее включили принудительно. Кстати, если по уму, то стоило просто добавить этот параметр в administrator\components\com_content\config.xml и он бы попал в админку.

От строк 228-232 зависит появится ли ошибка при открытии категории без ID в URL. Тесты показали, что если эти строки оставить как есть (не комментировать), то страницы статей грузятся без проблем, а вот страницы категорий вызывают возникновение ошибки 404. Так что решение в этом случае - закомментировать от греха подальше.

phpatternsПолезно иметь в своем арсенале инструментарий, который можно легко применять из приложения в приложение для решения широкого круга задач, не касаясь кода этого инструментария и вне зависимости от характера самих задач. В ходе разработки всевозможных приложений программистами был выделен ряд абстрактных программных решений, которые, как шаблоны или трафареты, можно свободно приложить к конкретно стоящей проблеме и вычертить по ним готовый продукт. 

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

Простейшая обертка-класс для работы с MySQL, призванная помочь тем, кому надоело постоянно писать INSERT... , SELECT... , UPDATE и т.д. Этот класс довольно старенький, я его часто применял при разработке своего Интернет-магазина автолитературы. Хоть и задачи он выполняет несложные, его пользу трудно переоценить. Работать будет и на древнейших версиях PHP.

ISPConfig 3 хранит конфиги в 2 разных файлах - интерфейсном и серверном:

Интерфейс:

/usr/local/ispconfig/interface/lib/config.inc.php

Сервер:

/usr/local/ispconfig/server/lib/config.inc.php

Пароль root от Mysql хранится тут:

/usr/local/ispconfig/server/lib/mysql_clientdb.conf

Если вы забыли пароль к админке ISPConfig , его можно сбросить, выполнив запрос, например, в phpMyAdmin:

UPDATE sys_user SET passwort = md5( 'admin' ) WHERE username = 'admin';

Он присваивает пользователю с логином admin пароль "admin"

Если у вас нет доступа к phpMyAdmin, можно выполнить этот запрос в командной строке mysql.

Залогиниваемся в mysql:

mysql -u root -p

вводим пароль рутового юзера. Для переключения на базу ISPConfig запускаем команду:

use dbispconfig;

Теперь сам запрос:

UPDATE sys_user SET passwort = md5( 'admin' ) WHERE username = 'admin';

и выходим:

quit;

Бесплатный плагин для защиты сайтов, построенных на различных версиях Joomla (1.5, 1.7, 2.5, 3.0) от атак и инъекций - jHackGuard

Справляется с SQL-инъекциями, удаленными вставками URL/File, удаленным исполнением кода и атаками XSS! Ведет логи.

Несмотря на то, что установка плагина простая и не требует дополнительной конфигурации, этот аддон предусматривает также и тонкую настройку.

Плагин успешно используется самими разработчиками для защиты сайтов их клиентов на протяжении последних нескольких лет.

Поставил его себе на сайт на всякий пожарный.

Наверх