Я только что установил новую мультисайтовую установку. Все работает так же, как и я, за исключением того, что изображения не отображаются ни на одном из дочерних сайтов.
Любая идея, почему изображения не отображаются?
Я запускаю WordPress 3.1.1 на IIS6 на общем сервере Windows (размещенном на Arvixe.com). Вторичные сайты находятся в подкаталогах, а не в поддоменах. Изображения для основного сайта работают, как и изображение заголовка, но изображения на дочерних сайтах не отображаются.
Я знаю, что изображения загружаются правильно, поскольку они появляются в папке blogs.dir на сервере. Они также появляются, если я перемещаюсь по ним следующим образом:
http://www.example.com/test/wp-content/blogs.dir/5/files/2011/04/LazyDog.jpg
Однако они не работают, когда я перехожу к ним следующим образом:
Когда я пробую эту вторую версию в IE, я получаю значок сломанного изображения, тогда как в Firefox я получаю только имя файла в верхней части экрана. Интересно, что когда я показываю информацию о странице в Firefox, она показывает тип «image/jpeg», что предполагает (и я могу ошибаться), что сервер нашел изображение и пытается отправить его в браузер.
Мой web.config выглядит так:
В моих настройках для сайта у меня есть:
- Адрес сайта = http://kramii.com/test/
- Главная = http://kramii.com/test/ Загрузить
- путь = http://kramii.com/wp-content/blogs.dir/5/files
- URL-адрес загрузки = http://kramii.com/wp-content/blogs.dir/5/files
- URL-адрес загрузки файла = http://kramii.com/wp-content/blogs.dir/5/files
Я отключил все плагины.
И последнее замечание: у кого-то на другом сайте была аналогичная проблема, и кто-то другой ответил: «Использует ли ваш веб-хост механизм кэширования или проксирует ваш веб-трафик?». Честно говоря, я не очень понимаю, что это значит. Откуда мне знать? Что я могу сделать, если они есть?
Спасибо.
Наконец-то у меня получилось!
Анализ ответов HTTP показал, что между заголовками и телом ответа HTTP было вставлено несколько дополнительных байтов, что привело к неверным данным изображения.
Дальнейшее расследование показало, что эти символы представляют собой метку порядка байтов Unicode (BOM).
Это, в свою очередь, было вызвано тем, что редактор Windows сохранил файл wp-config.php с кодировкой UTF-8, включающей спецификацию. Повторное сохранение файла wp-config с помощью редактора (Notepad++), который может удалить спецификацию, решило проблему. Единственным дополнительным требованием было очистить кеш браузера, чтобы очистить неверный ответ.
Я надеюсь, что это поможет кому-то еще, у кого есть аналогичная проблема. Мне потребовались буквально часы, чтобы найти ответ, но я многому научился на этом пути.