Особенности установки ARTIO JoomSEF

Сложности с которыми можно столкнуться при установке компонента Artio JoomSEF, официальной версии.

500 Internal Server Error

Если такая ошибка выпадает при попытке жмакнуть на SEF-ссылку это может значить одно:
человеко-понятная ссылка записалась в БД но сервер не может вернуть соответствующую страницу.

Первым делом стоит заглянуть в файл error.log, находящийся в папке /log/ сервера Apache и увидеть там примерно такую запись:

[Thu Jun 25 14:06:43 2009] [alert] [client 127.0.0.1] C:/AppServ/www/test/.htaccess: Invalid command 
'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

Таким образом Apache (Апач) вполне конкретно нам говорит, что модуль mod_rewrite
либо отключен в конфигурации сервера, либо отсутствует совсем. Скорее всего если вы пользуетесь готовой сборкой AppServ (Apache+PHP+MySQL+PHPMyAdmin) как и я, правильным является первый вариант из мнений сервера.

То есть для решения вопроса достаточно:

  • 1. Раскомментировать строку
    LoadModule rewrite_module modules/mod_rewrite.so

    в конфигурационном файле сервера httpd.conf.

  • 2. Перезапустить сервер.

Если же ошибка в логе примерно такая (уже на хостинге):
/public_html/.htaccess: Option FollowSymLinks not allowed here
Значит на хостинге не поддерживается опция +FollowSymLinks, и ее нужно поменять на +SymlinksIfOwnerMatch.

Проблема с интерпретированием русских символов

Компонент успешно установлен, а ссылки желаемый вид не приобрели, причем латинские символы в ссылках выглядят как надо.
Дело тут в содержимом поля «Non-ascii char replacements» в настройках компонента. Поле задает правила замены не ascii символов.
Достаточно вставить в него следующее, нажать сохранить (согласиться на перезапись seo-ссылок) и все будет в порядке.

A|A, A|A, A|A, A|A, A|A, A|A, C|C, C|C, C|C, D|D, E|E, E|E, E|E, E|E, I|I, I|I, I|I, I|I, L|L, N|N, N|N, N|N, O|O, O|O, O|O, O|O, O|O, R|R, R|R, S|S, S|O, T|T, U|U, U|U, U|U, U|U, Y|Y, Z|Z, Z|Z, a|a, a|a, a|a, a|a, a|a, c|c, c|c, c|c, d|d, d|d, e|e, e|e, e|e, e|e, e|e, i|i, i|i, i|i, i|i, l|l, n|n, n|n, n|n, o|o, o|o, o|o, o|o, o|o, s|s, s|s, r|r, r|r, t|t, u|u, u|u, u|u, u|u, y|y, z|z, z|z, ?|-, ?|ss, A|A, µ|u, A|A, µ|u, a|a, A|A, e|e, E|E, s|s, S|S, z|z, Z|Z, z|z, Z|Z, c|c, C|C, l|l, L|L, o|o, O|O, n|n, N|N, Г?|A, Г‚|A, Д‚|A, Г„|A, Д†|C, Г‡|C, Д¦|C, Д®|D, Д?|D, Г‰|E, Д?|E, Г‹|E, Д№|E, Г«|I, Г®|I, Д±|L, Е?|N, Е‡|N, Г“|O, Г”|O, Е?|O, Г–|O, Е”|R, Е?|R, Е |S, Е№|O, Е¤|T, ЕЏ|U, Г№|U, Е°|U, Г¶|U, Г»|Y, ЕЅ|Z, Е±,Z, Г·|a, Гў|a, Д?|a, Г¤|a, Д‡|c, Г§|c, Д«|c, Д¬|d, Д‘|d, ГЊ|e, Д™|e, ГЌ|e, Д›|e, Г|i, ГЏ|i, Дє|l, Е„|n, Е?|n, Гі|o, Гґ|o, Е‘|o, Гќ|o, Е·|s, Е›|s, Е™|r, Е•|r, ЕЎ|t, ЕЇ|u, Гє|u, Е‘|u, ГҐ|u, ГЅ|y, Еµ|z, Еє|z, Л™|-, Гј|ss, Д„|A, Вњ|u, Ў|G, Ё|YO, Є|E, Ї|YI, І|I, і|i, ґ|g, ё|yo, ±|#, є|e, ї|yi, А|A, Б|B, В|V, Г|G, Д|D, Е|E, Ж|ZH, З|Z, И|I, Й|Y, К|K, Л|L, М|M, Н|N, О|O, П|P, Р|R, С|S, Т|T, У|U, Ф|F, Х|H, Ц|TS, Ч|CH, Ш|SH, Щ|SCH, Ъ|', Ы|Y, Ь|, Э|E, Ю|YU, Я|YA, а|a, б|b, в|v, г|g, д|d, е|e, ж|zh, з|z, и|i, й|y, к|k, л|l, м|m, н|n, о|o, п|p, р|r, с|s, т|t, у|u, ф|f, х|h, ц|ts, ч|ch, ш|sh, щ|sch, ъ|', ы|y, ь|, э|e, ю|yu, я|ya

Примечание:
Заметил, что версия Artio JoomSEF 3.8.2 (и, видимо, более старшие) не только добавляет к названию страницы название сайта, но и правильно показывает кавычки в title, если они присутствуют в названии сайта, а также не имеет рекламной ссылки на себя (artio.net) в конце каждой статьи.

Регулярные выражения в PHP

Регулярное выражение (regular expression, сокращенно РВ) – это технология, которая позволяет задать шаблон и осуществить поиск данных, соответствующих этому шаблону, в заданном тексте, представленном в виде строки.

Основные функции для работы с Perl-совместимыми регулярными выражениями:

preg_match(pattern, string, [result, flags]) и preg_match_all(pattern, string, result, [flags]), где:

  • pattern – шаблон регулярного выражения;
  • string – строка, в которой производится поиск;
  • result – содержит массив результатов (нулевой элемент массива
    содержит соответствие всему шаблону, первый – первому «захваченному» подшаблону и т.д.);
  • flags – необязательный параметр, определяющий то, как упорядочены результаты поиска.

Восстановление пароля администратора в Joomla

Если же по некоторым причинам нет возможности восстановления пароля посредством функции напоминания забытого пароля, можно сбросить пароль администратора с помощью SQL-запроса.

Для этого необходимо подключиться к базе данных сайта и выполнить следующий SQL-запрос (например с помощью phpMyAdmin):

UPDATE `jos_users`
   SET password = '21232f297a57a5a743894a0e4a801fc3'
 WHERE id = 62;

После выполнения данного SQL-запроса, пароль суперадминистратора будет admin. Не забудьте зайти в административную панель и изменить этот пароль в целях безопасности.

Либо можно сразу в запросе указать новый пароль, тогда запрос будет выглядеть так:

UPDATE `jos_users`
   SET password = MD5('new_password')
 WHERE id = 62;

где вместо new_password вы можете указать свой новый пароль.

Примечание: обновляется пароль пользователя с правами суперадминистратора, а не пользователя с именем admin.
Примечание2: метод работает в Joomla 1.5.X.

Массивы в PHP

Массивы

Способы создания массива:

  • С помощью конструкции array $array_name = array("key1"=>"value1", "key2"=>"value2");
  • Непосредственно задавая значения элементам массива $array_name["key1"] = value1;

 css.php