Joomla 1.5 Не отображаются картинки после включения SEO. На сайте не отображаются картинки joomla


Решение проблемы «не отображаются картинки» в Joomla

В Joomla есть один косяк, при включеном стандартном SEF могут не отображаться картинки вставленные в материал через визуальные редакторы. Не стоит паниковать, решение этой проблеме существует.

Стоит сказать, я сам столкнулся с этой проблемой и был обезкуражен. Началось все с того, что я включил кеширование на сайте и первое, что я увидел — разъехался шаблон. Весь текст был на белом фоне. Сразу в голову пришло, что не подключились стили css. Открыл исходник страницы и понял, что не хватает начального слеша в путях к css. Поставил слеш в шаблоне и успокоился, но не тут то было. Позже выяснилось, что не показываются еще и картинки.

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

Проблема кроется в ядре Joomla, а точнее в использовании ею тэга base.

Элемент base определен внутри контейнера head и инструктирует браузер относительно полного базового адреса текущего документа. Тег base предназначен для документов, в которых используется относительный адрес и эти документы могут переноситься в другую папку или даже на другой компьютер без потери связи. Браузер ищет тег base, определяет полный адрес документа и корректно загружает его. Например, если адрес документа указан как base href=»http://www.amiseo.ru/joomla», то при добавлении рисунков достаточно использовать относительный адрес img src=»/images/joomla.png». При этом полный путь к изображению будет http://www.amiseo.ru/joomla/images/joomla.png, что позволяет браузеру всегда находить графический файл, независимо от того, где находится текущая веб-страница

Так вот по умолчанию Joomla на каждую страницу сует тэг base в котором стоит адрес данной страницы и все картинки имеют относительный путь от этой страницы, но мы то картинки храним в папке images в корне сайта!

Если вы используете сторонной SEF типа AceSEF то там эта проблема решена, а всем остальным нужно проделать следующее:

Открываем уже знакомый нам файл на сервере libraries/joomla/document/html/renderer/head.php находим в нем строку

$strHtml .= $tab.'<base href=»‘.$document->getBase().'»></base>’.$lnEnd;

или

$buffer .= $tab . ‘<base href=»‘ . $document->getBase() . ‘» />’ . $lnEnd;

Ориентировочно это 66 строка файла. И заменяем $document->getbase() на JURI::base()

Сохраняем и заливаем файл назад на сервер.

Всё, проблема решена!

Update: Решив одну проблему, как оказалось, можно приобрести другую. При данных манипуляциях перестают работать якоря. Если вы не знаете что это или они вам не нужны, то дальнейшее вас не касается.

Суть в том, что якорь прописанный на странице как #top начинает ссылаться на главную страницу, независимо от того, на какой странице он проставлен. Виноват в этом именно злополучный тэг base. Поэтому для себя я вообще выкинул кусок кода, относящийся к base из head.php. Теперь нужно быть внимательным при обновлениях Joomla

www.amiseo.ru

If you found an error, highlight it and press Shift + Enter or click here to inform us.

4632.ru

joomla не отображает картинки | Одминский блог

27 Jan 2010 | Автор: anchous |

На одном из моих сайтов, точнее назвать даже порталом, поскольку количество страниц на нем уже перевалило за 2000 стояла Joomla 1.5.11. Мне все очень нравилось, но немного, в последнее время особенно, движок стал тупить.  И что главное был один не понятный баг, из-за которого я грешил сначала на Joomla, а потом уже на сам темплейт:  joomla не отображает картинки.

На эту тему я перелопатил весь инет, как русскоговорящую часть, так и англоязычную, но единственное что я смог найти по этому поводу, это упоминание того, что да действительно, такая проблема имеет место быть, и есть такие люди у которых joomla тоже не показывает изображения, но никто не знает как с этим бороться и главное все это списывали на, чуть ли не на документированный баг, самой Joomla. С тем я и жил, забив на саму Joomla и не смотря на тот факт, что, на мой взгляд, она является второй по удобству CMS после WordPress.

И вот сегодня решил привести в порядок одну из имеющихся у меня хостинг площадок, для чего залез на неё и стал чикать не нужные мне сайты и порталы. Заодно решил обновить имеющиеся движки. Актуальным обновлением для системы оказалась версия 1.5.15 и хотя на офф.сайте Joomla уже имеется версия 1.6, я обновился до предлагаемой версии.

И что вы думаете? Мало того, что сайт стал побыстрее крутиться и гораздо приятнее отображаться, так САМОЕ ГЛАВНОЕ: исчезла проблема того, что Joomla не показывала картинки!!! Так что все теперь отображается корректно, и Joomla снова стала моей любовью.

Мораль: не забывайте эпизодически обновлять систему! С WordPress я это правило никогда не забываю, а вот с остальными сайтиками как то не сложилось, но теперь хорошее напоминание о прописной истине.

ЗЫ: для недовольных деятелей хочу сделать одно замечание, которое возможно придаст данному посту большую осмысленность. Если вы полагаете что совет обновить Joomla полная херь, то открою страшную тайну- Joomla является лишь CMS и то что в ней не отображаются картинки- является только ошибкой корректности отображения html кода, который вводили вы и интерпретирует CMS.  В этой связи откройте исходный код нужной страницы в браузере и сравните с им же в самой Joomla- вероятнее всего Joomla или вы изменили местоположение страницы в иерархии сайта, так что относительный путь к изображению ведет куда то вдаль, поэтому юзайте абсолютные пути для вставки изображений, с использованием доменного имени: Сайт/имаджес/изображение.jpg; а также проверяйте правильность синтаксиса img src, ибо движок Joomla опять же добавляет свои классы изображений, которые препятствуют корректному отображению картинок.

Как вариант, существует решение проблемы, путем добавления строки в файл configuration.phpvar $live_site = vashsite.ru

UPD: столкнулся буквально на днях с подобной же проблемой, которую умельцы решали путем правки строки в файле libraries/joomla/document/html/renderer/head.php

заменяя стоку$strHtml .= $tab.’<base href=”‘.$document->getBase().’”></base>’.$lnEnd;на$strHtml .= $tab.’<base href=”‘.JURI::root().’” />’.$lnEnd;хотя по некоторым данным после подобных телодвижений, перестает отрабатывать навигация через якоря.

VN:F [1.9.21_1169]

Rating: 6.1/10 (11 votes cast)

VN:F [1.9.21_1169]

joomla не отображает картинки, 6.1 out of 10 based on 11 ratings

Теги: joomla, настройка системы, сайты

odminblog.ru

Joomla 1.5 - Не отображаются картинки после включения SEO

  • ##

  • # @version $Id: htaccess.txt 10492 2008-07-02 06:38:28Z ircmaxell $

  • # @package Joomla

  • # @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.

  • # @license http://www.gnu.org/copyleft/gpl.html GNU/GPL

  • # Joomla! is Free Software

  • ##

  •  

  •  

  • #####################################################

  • #  READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE

  • #

  • # The line just below this section: 'Options +FollowSymLinks' may cause problems

  • # with some server configurations.  It is required for use of mod_rewrite, but may already

  • # be set by your server administrator in a way that dissallows changing it in

  • # your .htaccess file.  If using it causes your server to error out, comment it out (add # to

  • # beginning of line), reload your site in your browser and test your sef url's.  If they work,

  • # it has been set by your server administrator and you do not need it set here.

  • #

  • #####################################################

  •  

  • ##  Can be commented out if causes errors, see notes above.

  • Options +FollowSymLinks

  •  

  • #

  • #  mod_rewrite in use

  •  

  • RewriteEngine On

  •  

  • ########## Begin - Rewrite rules to block out some common exploits

  • ## If you experience problems on your site block out the operations listed below

  • ## This attempts to block the most common type of exploit `attempts` to Joomla!

  • #

  • # Block out any script trying to set a mosConfig value through the URL

  • RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]

  • # Block out any script trying to base64_encode crap to send via URL

  • RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]

  • # Block out any script that includes a <script> tag in URL

  • RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]

  • # Block out any script trying to set a PHP GLOBALS variable via URL

  • RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

  • # Block out any script trying to modify a _REQUEST variable via URL

  • RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

  • # Send all blocked request to homepage with 403 Forbidden error!

  • RewriteRule ^(.*)$ index.php [F,L]

  • #

  • ########## End - Rewrite rules to block out some common exploits

  •  

  • #  Uncomment following line if your webserver's URL

  • #  is not directly related to physical file paths.

  • #  Update Your Joomla! Directory (just / for root)

  •  

  • RewriteBase /vladimir/

  •  

  •  

  • ########## Begin - Joomla! core SEF Section

  • #

  • RewriteCond %{REQUEST_FILENAME} !-f

  • RewriteCond %{REQUEST_FILENAME} !-d

  • RewriteCond %{REQUEST_URI} !^/index.php

  • RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$  [NC]

  • RewriteRule (.*) index.php

  • RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

  • #

  • ########## End - Joomla! core SEF Section

  • joomla-support.ru

    Почему не отображается картинка на сайте?

    Вы здесь: Главная - HTML - HTML Основы - Почему не отображается картинка на сайте?

    Давно я уже не писал ничего для новичков, в основном, пишу уже для достаточно опытных специалистов. Поэтому чтобы исправить это положение, я решил написать статью по теме наиболее частого вопроса, который я постоянно получаю: "Почему не отображается картинка на сайте?". В этой статье я постараюсь разобрать все причины, почему изображение не появляется на сайте на основании того, что я видел у своих учеников.

    Не будем тянуть резину, а сразу перейдём к делу.

    Первая ошибка

    <img scr="image.jpg" alt="Картинка" />

    Тот, кто уже хорошо знает HTML, мгновенно найдёт в данном коде ошибку. А ошибка здесь синтаксическая, так как атрибута "scr" не существует, а правильно писать "src". Ошибка очень распространена, поэтому я решил её поставить первой.

    Вторая ошибка

    <img src="image.jpg" alt="Картинка" />

    Здесь никаких ошибок в коде не имеется, однако, если копнуть глубже, то название картинки, скорее всего, указано неправильно. Очень часто в ОС отключён показ расширений файлов, как следствие, image.jpg - это только имя файла, без расширения. Для решения проблемы надо включить показ расширений файлов в свойстве папок, далее увидеть, что файл называется, например, так: "image.jpg.png", и это имя прописать в src.

    Третья ошибка

    <img src="image.jpg" alt="Картинка" />

    Снова код правильный, однако, картинка всё равно не отображается. Если не помог предыдущий пункт, то, скорее всего, в браузере просто отключён показ картинок. Включите показ картинок в браузере, и Ваше изображение должно будет появиться.

    Четвёртая ошибка

    <img src="images/image.jpg" alt="Картинка" />

    Очень часто ошибка состоит в том, что путь написан с ошибкой. А этот путь они просто откуда-то сдирают (с моего сайта, с книг, с моих курсов или ещё откуда-нибудь), не подумав о том, что это только путь, а не сама картинка. И по нему должна находиться само изображение. В большинстве случаев, её и близко нет. Иногда картинка имеется, но путь написан неправильно. Здесь надо просто уметь писать относительные пути. Начинается всё от каталога, в котором находится данная страница, далее пишем каталог, в котором находится картинка, а затем через слеш пишем название картинки. Если есть ещё один каталог на пути к картинке, то пишем и его (например, так: "images/photo/user1.jpg"). Если сама страница находится во внутреннем каталоге, также как и картинка, то нужно использовать "../" (например, так: "../images/image.jpg"). Всё просто, но вот возникают почему-то проблемы.

    Я разобрал все ошибки, которые мне удалось вспомнить в своей практике. Если у Вас не отображается картинка на сайте, то 99.9% того, что решение Вы найдёте здесь, поэтому внимательно просмотрите всю статью и подумайте, что у Вас не так. И всегда помните, что ошибка может быть комплексной. Например, синтаксическая ошибка, путь указан неверно, да и имя неправильно написано. Такое тоже бывает, поэтому проверяйте себя на каждой ошибке, и после их исправления картинка обязательно появится на Вашем сайте.

    Предыдущая статья Следующая статья

    Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

    Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

    Если Вы не хотите пропустить новые материалы на сайте,то Вы можете подписаться на обновления: Подписаться на обновления

    Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

    Порекомендуйте эту статью друзьям:

    Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

    1. Кнопка: <a href="https://myrusakov.ru" target="_blank"><img src="/800/600/https/myrusakov.ru/images/button.gif" alt="Как создать свой сайт" /></a>

      Она выглядит вот так: Как создать свой сайт

    2. Текстовая ссылка:<a href="https://myrusakov.ru" target="_blank">Как создать свой сайт</a>

      Она выглядит вот так: Как создать свой сайт

    3. BB-код ссылки для форумов (например, можете поставить её в подписи): [URL="https://myrusakov.ru"]Как создать свой сайт[/URL]

    myrusakov.ru


    Prostoy-Site | Все права защищены © 2018 | Карта сайта