SEF

 

Joomla 1.5: Ошибка sh404SEF: Table u.jos_sh404SEF_meta doesn t exist

При переносе с localhost на хостинг sh404SEF (SEF компонент) в админе выдает ошибку:

Table 'username.jos_sh404SEF_meta' doesn't exist SQL=SELECT * FROM jos_sh404SEF_meta WHERE newurl != 'index.php?3de69ea13a27d1ead96ff5d7b47efae3' ORDER BY `newurl` ASC LIMIT 0,20

решение:

в файлах:
administrator\components\com_sh404sef\admin.sh404sef.php
administrator\components\com_sh404sef\sh404sef.class.php

components\com_sh404sef\shPageRewrite.php

заменить все обращения к таблице jos_sh404SEF_meta на jos_sh404sef_meta

то есть MYSQL на хостинге скорее всего регистрочувствителен к имени таблицы.
 

Joomla 1.5 - картинки, изображения в статьях не отображаются при использовании SEF, sh404sef

Стандартный SEO, SEF - картинки в статьях не отображаются

Такая же ситуация происходит при использовании sh404sef, возможна и при включении плагина cache.

 

Редактор JCE при сохранении сам убирает слеш перед /images/ в адресе изображения тега:

<img src="/images/stories/img1.jpg" />

 

W3C: "The <base> tag specifies a default address or a default target for all links on a page"
Перевод: "Тэг <base> определяет адресс по-умолчанию или цель по-умолчанию для всех ссылок на странице"

То есть фактически это часть ссылки, которая подставляется перед любым относительным путем на странице, если такой встречается.
Joomla при включенном SEF вставляет в этот тэг путь составленный по активным пунктам меню, а JCE при вставке картинок подразумевает, что в <base> будет корень сайта. Отсюда конфликт и проблема с отображением картинок с относительными путями.

Чтобы исправить ситуацию, не изменяя все пути к картинкам на сайте, находим файл
libraries/joomla/document/html/renderer/head.php и в 66й строке вместо $document->getbase() пишем JURI::base()
Теперь в <base> записан корень сайта и все относительные пути читаются корректно.

При составлении статьи использован материал: http://joomlaforum.ru/index.php/topic,66074.msg381258.html#msg381258