Изображениям на подстраницах не удается загрузиться

Я добавил .htaccess файл к веб-сайту Wordpress, который я продолжаю работать, для показа хороших URL вместо идентификаторов страницы.

Содержание .htaccess - это:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Это хорошо работает, но на каждой подстранице у меня есть он, не показывает изображения. Используя Firebug я вижу, что путь к изображению корректен (например: поскольку логотип является тем же путем как на других страницах), но он дает ошибку, "Отказавшую для загрузки данного URL".

src для изображений - это: wp-content/themes/.../file.jpg. Я заметил, что помещение абсолютного URL, такого как http://mysite.com/wp-content/.../file.jpg действительно решает проблему.

Я буду просто использовать абсолютные URL или являюсь там чем-то, что я могу сделать в htaccess?

0
25.05.2012, 14:48
2 ответа

Ваша проблема не имеет никакого отношения к htaccess. Это - это, Вы используете относительные пути, где необходимо использовать полные пути. (Вот объяснение различия),

Вероятно, лучший способ сослаться на любые активы в Вашей теме (принимающий Вашу тему имеет подкаталог "изображений") состоит в том, чтобы сделать что-то как:

<?php echo get_bloginfo('template_url') ?>/images/your_image.jpg

Первая часть повторяет целый URL, прямо до Вашего корня темы. Таким образом, Вы всегда получаете абсолютный URL, и Вы не имеете к hardcode "/wp-content/themes/whatever". Некоторые установки WP не используют "wp-содержание" в качестве названия каталога содержания, таким образом, эта практика сделает Ваши темы более гибкими и портативными.

Обновление в ответ на комментарий:

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

Перед включением симпатичных постоянных ссылок вся страница URIs были относительно доменного корня. Значением всех Ваших страниц был "yourdomain.com/?p=something". В этой ситуации работали Ваши относительные каналы передачи изображения, потому что они всегда были относительно корня.

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

Возьмите, так же, как иллюстрация, относительный URL к изображению в качестве примера: "images/my_image.jpg". На домашней странице ("www.yourdomain.com/") Ваш браузер будет искать это изображение по "www.yourdomain.com/images/my_image.jpg". Но что происходит, если Вы находитесь на внутренней странице как "www.yourdomain.com/about"? Ваш браузер будет искать это изображение в своем относительном пути, который является "www.yourdomain.com/about/images/my_image.jpg". Очевидно, это не правильный путь, и изображению (справедливо) не удалось загрузиться.

0
20.02.2020, 01:52
  • 1
    Хорошо, maye это не имеет никакого отношения к htaccess непосредственно и хорошо и это решение работы.Спасибо. Так или иначе я знаю различие между полным путем и относительным. Это - тот этот веб-сайт, был сделан кем-то еще. На днях я просто добавил htaccess и теперь существует эта проблема. Я действительно задаюсь вопросом, что произошло, потому что я вполне уверен, они работали, прежде и никто действительно не изменял их в эти дни. –  Carlo 25.05.2012, 22:42
  • 2
    @Carlo Glad Вы получили его работа. Я добавил больше объяснения к своему ответу для объяснения точно, что произошло и почему. –  MathSmath 25.05.2012, 23:21
  • 3
    краткого заголовка хорошо, спасибо за подробное объяснение. Это - то, что я искал. Я проголосовал бы за Вас, но я не могу. Так или иначе я не могу использовать код php в странице.Я неправ? –  Carlo 26.05.2012, 03:24
  • 4
    @Carlo, Не уверенный, что означает Ваш вопрос. "Я не могу использовать код php в странице"? Можно определенно использовать этот php отрывок в шаблонах страницы. Но если Вы говорите об использовании его в содержании страницы (содержание, Вы вошли через WYSIWYG), затем не, Вы не можете. Если Вы используете, "вводят медиа" кнопка на WYSIWYG, она должна вставить полный полный путь. Если Вы вручную добавляете изображения, можно использовать относительные URL, которые запускаются с наклонной черты - это всегда делает их относительно корня (вместо того, чтобы быть относительно текущего пути). –  MathSmath 29.05.2012, 17:40

Попытка делать Ваши ссылки изображения запускается с /

Они работают над домашней страницей потому что плоскость wp-content корректный путь. Но когда Вы становитесь глубже в, это должно быть /wp-content

0
20.02.2020, 01:52

Теги

Похожие вопросы