Drupal 7
Не знаю когда проблема появилась - давно не занимался сайтом, поэтому сразу накатил несколько обновлений, и только потом обнаружил проблему. Но, возможно, она появилась раньше.
А заметил, что перестала работать Brilliant Gallery. Но если бы только она. Когда создается материал и у поля Image установлен стиль изменения изображения, например, Thumbnail, то картинка тоже не отображается. В соответствующих папках для уменьшенных изображений, что Brilliant Gallery, что styles/thumbnail/public - пусто, хотя ссылки на них создаются. Сами папки также создаются если их удалить вручную, так что у Drupal права на запись есть. И в логах никаких ошибок не вижу.
А где еще смотреть?- ума не приложу.
Т.е. директории для временных картинок есть, ссылки есть - директории пустые.
Временные файлы изображений
Главные вкладки
Лучший ответ
Всем спасибо за наводки!
Покопался в чаво хостера и...
...как по мне, найдены двое виновных: Drupal и хостер. Первый, потому, что требует в .htaccess
Options +FollowSymLinks
а второй, потому как не согласен и требует сменить:
директиву Options +FollowSymLinks на Options +SymLinksIfOwnerMatch
Пменял как пишет хостер и заработало.
Еще раз всем спасибо.
Комментарии
Почему бы не открыть в браузере ту картинку, которая не отображается?
Как минимум, будет понятно, проблема на стороне друпала или хостер идиот
Ну как же ее открыть, если ее нет?!
Картинка test_image.jpg в исходном размере в sites/default/files есть, напрямую открывается, но вот этого нет на диске:
<img src="https://my.site/sites/default/files/styles/thumbnail/public/test_image.jpg?itok=5ckAuaCQ" class="pure-img" width="100" height="73" alt="" title="" data-pagespeed-url-hash="3087977367" onload="pagespeed.CriticalImages.checkImageForCriticality(this);">
Каталог для миниатюры пустой.
Браузером и открыть.
Вот ссылка https://my.site/sites/default/files/styles/thumbnail/public/test_image.j...
И в браузере будет что-то, да написано.
И вообще у вас mod_pagespeed или иной тюнинг, так что начните с него
Спасибо за ответ.
Не открывается. Так как каталог, повторяю, на сервере пустой. Браузер пишет про несовместимость .htaccess, хотя в каталоге для миниатюр его нет, а в files/ файл .htaccess согласно требованиям бла-бла-бла не помню каким, но ругалось в отчетах без него.
А что такое mod_pagespeed ? Это на сервере? Или это в Drupal? Сервер у хостера и менять через админку можно мало чего в настройках php и apache.
У вас вот это подозрительно в коде:
onload="pagespeed.CriticalImages.checkImageForCriticality(this);"
Это, скорее всего, тема 0 point, так как в ее описании есть такое:
PageSpeed Insights optimisation
Больше нигде упоминание про pagespeed не нашел.
Каталог и должен быть пустым.. Картинка определенного стиля генерируется при первом ее запросе.
Т.е. вэбсервер должен сначала попытаться отдать картинку из папки, а если ее еще нет, то передать запрос drupal-у.
Drupal сгенерирует картинку, положит ее в нужную папку и отдаст браузеру.
Последующие разы картинка уже будет отдаваться из папки.
Если никаких ошибок в логах нет, значит скорее всего вэбсервер (апач как я понял) тупо пытается отдать картинку по ее пути..
Пример части конфига для nginx, отвечающего за данную "процедуру"
rewrite ^/(.*)$ /index.php?q=$1;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
try_files $uri @rewrite;
expires max;
log_not_found off;
}
Да вообще всё равно, пустой каталог или не пустой. Сначала изображение нужно сгенерировать, потом положить в директорию.
В браузере что?
Ошибка .htaccess? Дайте её текст, как минимум.
Вы если лучше знаете, то зачем спрашиваете?
Если хотите консультации, то лучше отвечайте на вопросы
Всем спасибо за наводки!
Покопался в чаво хостера и...
...как по мне, найдены двое виновных: Drupal и хостер. Первый, потому, что требует в .htaccess
а второй, потому как не согласен и требует сменить:
Пменял как пишет хостер и заработало.
Еще раз всем спасибо.