Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Проблема с картинками https


Recommended Posts

Ребята, всем привет. Прошу прощения за вопрос, но танцы с бубном уже просто надоели....

 

Сайт на opencart 1.5 перевел на протокол https. Все ссылки, пути скриптов и картинок имеют вид https://site.ru/.....  

Везде сайт отображается нормально, кроме как мобильного google chrome.

 

Поведение такое - после очистки кеша, захожу на страницу и в итоге часть фото загрузилась, а часть показывает как буд то бы битые пути, но что самое интересное - при перезагрузке страницы, все окей.

 

В основном на андроиде вот такая история происходит. Буду благодарен за любые советы. Спасибо

  • +1 1
Надіслати
Поділитися на інших сайтах

SEO HTTPS FIX PRO в помощь вам тогда
Он исправляет ошибки opencart, модулей и тем в формировании правильный ссылок по разным протоколам (http и https) и заодно разделяет кеш opencart для разных протоколов

 

Надіслати
Поділитися на інших сайтах

2 минуты назад, markimax сказал:

SEO HTTPS FIX PRO в помощь вам тогда
Он исправляет ошибки opencart, модулей и тем в формировании правильный ссылок по разным протоколам (http и https) и заодно разделяет кеш opencart для разных протоколов

 

 

 

 

Не уверен что это панацея. Если бы не правильные были бы ссылки или пути то не работало бы везде. А так...

 

 

 

 

 

 

Надіслати
Поділитися на інших сайтах

31 минуту назад, bloodrain777 сказал:

Не уверен что это панацея. Если бы не правильные были бы ссылки или пути то не работало бы везде. А так...

Не панацея но судя по вашему запросу - ваш вариант.

У вас кеш не разделяется для протоколов плюс есть проблема с формированием ссылок раз они попадают в мобильной версии как http для изображений
Как то же ссылки http попадают раз картинки не загружаются (типа "битые")
Модуль разделят кеш opencart для разных протоколов и если ссылки идут http заменяет на https если адрес https://
Если адрес http:// .. отдаются правильно http - это полезно для ПС и их индексации изображений
Вы думаете что прописав HTTP_SERVER - https:// .. вы решили проблему .. нет, только усложнили этим костылем
Но конечно смотреть надо индивидуально что вы там "сделали"
 

Надіслати
Поділитися на інших сайтах

9 часов назад, markimax сказал:

Не панацея но судя по вашему запросу - ваш вариант.

У вас кеш не разделяется для протоколов плюс есть проблема с формированием ссылок раз они попадают в мобильной версии как http для изображений
Как то же ссылки http попадают раз картинки не загружаются (типа "битые")
Модуль разделят кеш opencart для разных протоколов и если ссылки идут http заменяет на https если адрес https://
Если адрес http:// .. отдаются правильно http - это полезно для ПС и их индексации изображений
Вы думаете что прописав HTTP_SERVER - https:// .. вы решили проблему .. нет, только усложнили этим костылем
Но конечно смотреть надо индивидуально что вы там "сделали"
 

 

 

А можно узнать? Что такого кеширует Opencart что нужно разделать по протоколам? Пути к файлам? URL картинок? На сколько я знаю, то нигда в Opencart нет такого, разве что какой то "криворукуй" кодер написал, хотя врядли

 

 

 

Надіслати
Поділитися на інших сайтах

"Вы думаете что прописав HTTP_SERVER - https:// .. вы решили проблему .. нет, только усложнили этим костылем"

 

А я где то написал что я прописал HTTP_SERVER - https ?

Надіслати
Поділитися на інших сайтах

Так вот. ребята если у кого такая же проблема как у меня случится - стучите в поддержку хостинга. Ответ был таков - такое поведение из-за того что сайт работал на http/2 протоколе, а версия сервера nginx была старая. Обновили версию сервера и все окей. Одна из ошибок которых не так просто обнаружить. Всем благ

  • +1 2
Надіслати
Поділитися на інших сайтах

15 часов назад, bloodrain777 сказал:

А можно узнать? Что такого кеширует Opencart что нужно разделать по протоколам? Пути к файлам? URL картинок? На сколько я знаю, то нигда в Opencart нет такого, разве что какой то "криворукуй" кодер написал, хотя врядли

 

Вы забываете про URL. Для разных протоколов они разные ;)
Тот, же seo_pro полностью кеширует все URL (сценарий, очистился кеш, пользователь зашел под http - сгенерировался кеш с http протоколами ссылок, другой пользователь зашел по https а из кеша (если он не разделен по протоколам)  ему отдадутся ссылки http. Понятно объяснил ?) Это не единичный случай, очень много модулей кешируют URL, к примеру разные менюшки и т п рюшечки
 

Надіслати
Поділитися на інших сайтах

22 часа назад, markimax сказал:

 

Вы забываете про URL. Для разных протоколов они разные ;)
Тот, же seo_pro полностью кеширует все URL (сценарий, очистился кеш, пользователь зашел под http - сгенерировался кеш с http протоколами ссылок, другой пользователь зашел по https а из кеша (если он не разделен по протоколам)  ему отдадутся ссылки http. Понятно объяснил ?) Это не единичный случай, очень много модулей кешируют URL, к примеру разные менюшки и т п рюшечки
 

 

 

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

Надіслати
Поділитися на інших сайтах

В 03.04.2017 в 20:25, bloodrain777 сказал:

такое поведение из-за того что сайт работал на http/2 протоколе, а версия сервера nginx была старая. Обновили версию сервера и все окей.

Как раз наоборот - не работал на HTTP/2 судя из этой фразы.

Хром почти год назад удалил поддержку NPN (расширение для выбора протокола), а точнее заменил на ALPN. nginx для работы с ALPN должен быть собран с OpenSSL версии не ниже 1.0.2, а он до сих пор в официальных репозиториях собирается с версией 1.0.1.

Мозилла NPN тоже заменила на ALPN, но позже. И эта касается всех вариантов этих браузеров, а не только мобильных.

 

Так что получается, что без HTTP/2 в Хроме у вас просто за один раз все фотографии не могли загрузиться (а у некоторых есть сомнения в пользе от HTTP/2).

Но вопрос, почему проблема возникла только после перехода на https, ведь без SSL HTTP/2 не работает, то есть проблема должна была быть всегда. Или вы просто до перехода на https на мобильных не проверяли?

 

 

23 минуты назад, bloodrain777 сказал:

В первые слышу чтобы seo_pro кешировал полностью ссылки

Ну да, всё верно: как это происходит, в принципе, с кешированием в ОК - SeoPro кеширует только результат запроса к таблице с ЧПУ.

Надіслати
Поділитися на інших сайтах


1 час назад, Dotrox сказал:

Но вопрос, почему проблема возникла только после перехода на https, ведь без SSL HTTP/2 не работает, то есть проблема должна была быть всегда. Или вы просто до перехода на https на мобильных не проверяли?

 

 

Да нет, проверяли, все было окей. Если честно то я написал то что мне сказали в поддержке - сайт работал на HTTP/2 а у них nginx не той сборки был, обновили и все заработало.

 

 

А по поводу seo_pro - вот и я так говою, но вот автор выше пишет, что seo_pro кеширует полностью ссылки. Буду ждать его ответа, может я чего то не знаю

 

 

 

Надіслати
Поділитися на інших сайтах

В 05.04.2017 в 01:17, bloodrain777 сказал:

Да нет, проверяли, все было окей. Если честно то я написал то что мне сказали в поддержке - сайт работал на HTTP/2 а у них nginx не той сборки был, обновили и все заработало.

А по поводу seo_pro - вот и я так говою, но вот автор выше пишет, что seo_pro кеширует полностью ссылки. Буду ждать его ответа, может я чего то не знаю

 

Да сорри перепутал seo_pro кеширует таблицу.

Но суть от этого не меняется

Видел в каком то SEO SUPER PUPER ULTIMATE MEGA PRO SHIT - там кеширование seo_url  полное ссылками идет (кстати логично, чтобы лишний раз не дергать rewrite). И не раз встречал кеширование именно ссылок

Надіслати
Поділитися на інших сайтах

5 часов назад, markimax сказал:

Да сорри перепутал seo_pro кеширует таблицу.

Но суть от этого не меняется

Видел в каком то SEO SUPER PUPER ULTIMATE MEGA PRO SHIT - там кеширование seo_url  полное ссылками идет (кстати логично, чтобы лишний раз не дергать rewrite). И не раз встречал кеширование именно ссылок

 

Ну как защита от дурака - пойдет. Хотя я мало себе представляю что можно потом делать с полным URL если установлен seo_pro.

Надіслати
Поділитися на інших сайтах

20 минут назад, bloodrain777 сказал:

 

Ну как защита от дурака - пойдет. Хотя я мало себе представляю что можно потом делать с полным URL если установлен seo_pro.

Кеш чтобы не дергать rewrite лишний раз и не генерить лишние запросы (а rewrite очень много генерит запросов)

Надіслати
Поділитися на інших сайтах

В 07.04.2017 в 10:54, markimax сказал:

Кеш чтобы не дергать rewrite лишний раз и не генерить лишние запросы (а rewrite очень много генерит запросов)

 

Да ну какие много запросов?! Всего один в самом начале  -

$query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias");

И то, там используется lazy load. (ошибся)

Змінено користувачем bloodrain777
Надіслати
Поділитися на інших сайтах

3 часа назад, bloodrain777 сказал:

Да ну какие много запросов?! Всего один в самом начале

На этот раз Марк прав.

В методе rewrite есть вызовы методов getPathByProduct и getPathByCategory, где дополнительные запросы к базе для формирования иерархии категорий. Если для товаров показ полного пути в ссылке отключён, то вызывается только getPathByCategory. И в рамках работы с одной ссылкой вызов то всего один (хотя и не самый легковесный), но rewrite вызывается для всех ссылок на странице.

Правда, эти запросы тоже кешируются.

 

В любом случае, из-за этих запросов кешировать ссылки полностью - это всё равно очень плохая идея (и Марк уже сам описал одну из причин почему).

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

Надіслати
Поділитися на інших сайтах


Но seo_patth - кешируемый, но! при большом количестве категорий, и товаров на страницах, его очень тяжело "прогреть" на каждый новый путь запись в кеш

Надіслати
Поділитися на інших сайтах

4 часа назад, bloodrain777 сказал:

lazy load.

Что Это такое?

Вы не путайте формирование и отображение.

Надіслати
Поділитися на інших сайтах

3 часа назад, Dotrox сказал:

На этот раз Марк прав.

В методе rewrite есть вызовы методов getPathByProduct и getPathByCategory, где дополнительные запросы к базе для формирования иерархии категорий. Если для товаров показ полного пути в ссылке отключён, то вызывается только getPathByCategory. И в рамках работы с одной ссылкой вызов то всего один (хотя и не самый легковесный), но rewrite вызывается для всех ссылок на странице.

Правда, эти запросы тоже кешируются.

 

В любом случае, из-за этих запросов кешировать ссылки полностью - это всё равно очень плохая идея (и Марк уже сам описал одну из причин почему).

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

 

 

Да, иерархии будут строиться тут вопросов нет, но единственный момент - они то кешируются. Конечно если отключить кеш то будет куча запросов. Или я не прав?

 

 

 

 

 

Надіслати
Поділитися на інших сайтах

3 часа назад, chukcha сказал:

Что Это такое?

Вы не путайте формирование и отображение.

 

Lazy load это когда информация записывается в свойство объекта а при обращении к нему проверяется если свойство пустое то загружается информация в него.

 

В данном случаи даже тот запрос что я написал выше так же происходит при отсутствии данных в

$this->cache_data

 

 

Надіслати
Поділитися на інших сайтах

49 минут назад, bloodrain777 сказал:

В данном случаи даже тот запрос что я написал выше так же происходит при отсутствии данных в


$this->cache_data

Хотя вы более-менее правильно описали ленивую загрузку, но увидели её там, где её нет.

 

Это было бы ленивой загрузкой, если б, что проверка кеша, что запрос к базе происходили бы только при первом обращении с содержимому $this->cache_data (ну, и называлось бы оно просто $this->data уже, ибо кеш остался бы под капотом).

 

А так мы имеем проверку кеша и, при необходимости, запрос к базе уже в момент создания экземпляра класса (ибо оно в конструкторе), в чём нет ничего ленивого.

 

 

1 час назад, bloodrain777 сказал:

Да, иерархии будут строиться тут вопросов нет, но единственный момент - они то кешируются. Конечно если отключить кеш то будет куча запросов. Или я не прав?

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

И второй не мене важный пункт - кеш в ОК может даже сам создавать тормоза при большом количестве кешируемых объектов, ибо, во-первых, всё сваливается в одну директорию, а во-вторых, нормально не очищается автоматом.

Надіслати
Поділитися на інших сайтах


29 минут назад, Dotrox сказал:

Хотя вы более-менее правильно описали ленивую загрузку, но увидели её там, где её нет.

 

Это было бы ленивой загрузкой, если б, что проверка кеша, что запрос к базе происходили бы только при первом обращении с содержимому $this->cache_data (ну, и называлось бы оно просто $this->data уже, ибо кеш остался бы под капотом).

 

А так мы имеем проверку кеша и, при необходимости, запрос к базе уже в момент создания экземпляра класса (ибо оно в конструкторе), в чём нет ничего ленивого.

 

 

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

И второй не мене важный пункт - кеш в ОК может даже сам создавать тормоза при большом количестве кешируемых объектов, ибо, во-первых, всё сваливается в одну директорию, а во-вторых, нормально не очищается автоматом.

 

Да, с lazy load я тут конечно переборщил немного, ну да ладно.

 

 

 

 

 

Надіслати
Поділитися на інших сайтах

23 часа назад, Dotrox сказал:

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

Вот - совершенно правильно.

Полно .. как это назвать ... html -ных кеш модуля, вместе с html, ссылками и т п 

И как раз здесь нужен разделенный кеш по протоколам
Т.е. очень много встречается вариантов где кеш протоколов надо разделять, иначе html вывод с ссылками будет одинаковый под разные протоколы (до редиректа и склейки зеркал)
 

Надіслати
Поділитися на інших сайтах

18 часов назад, Dotrox сказал:

@chukcha

И второй не мене важный пункт - кеш в ОК может даже сам создавать тормоза при большом количестве кешируемых объектов, ибо, во-первых, всё сваливается в одну директорию, а во-вторых, нормально не очищается автоматом.

Кстати немного не по теме, но ...никогда не видели как падает opencart с seo_pro  на 100k - 1M товаров ;)
Кеш таблицы SEO URL имеет просто не приличный размер и просто физически не хватает памяти, да и загрузить 10-50-100 мб файл тоже ресурсы надо :)
А в seo_pro нету проверки на размер файла кеша при загрузке (не мешало бы кстати пул реквест добавить в ocStore)

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.