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

После перехода на ssl перестают работать подкатегории


Recommended Posts

Ситуация такого рода.
Переименовав 

define('HTTP_SERVER', 'https://site.ru');

http ->https

Подкатегории начинают ловить дэфолтные ссылки /index.php?route=product/category&path=63, и перестают быть кликабельны.
Если я возвращаю обратно http вместо https все стает снова отлично работать кроме сертификата. (защищен не полностью)

SEO PRO стандартный из OcStroe 3.0.2

.htacces родной без изменений.

Скрины SEO PRO

 

Спойлер

1986284592_.thumb.jpg.4042032d27f7fa400c7784cd7ac96e44.jpg

Настройка PHP

 

Спойлер

1524304389_2.thumb.jpg.5ef3b5060c3ae9dec4d798388849cce8.jpg3.thumb.jpg.3966f13ccf6dc7ccb473995c7e9e207a.jpg4.thumb.jpg.f12e7a518363926ad565b84dcae0a412.jpg

 

Кэш SEO PRO чистил

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


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

Ситуация такого рода.
Переименовав 


define('HTTP_SERVER', 'https://site.ru');

http ->https

Подкатегории начинают ловить дэфолтные ссылки /index.php?route=product/category&path=63, и перестают быть кликабельны.
Если я возвращаю обратно http вместо https все стает снова отлично работать кроме сертификата. (защищен не полностью)

SEO PRO стандартный из OcStroe 3.0.2

.htacces родной без изменений.


Ну как бы в этом и проблема... Не достаточно просто в HTTP сервере добавить 1 букву чтобы заработало все тип-топ.

Как минимум в самом движке надо включить настройку, что теперь все работает через https
.htaccess родной без изменений так же вероятно не работает с https (не уверен в этом, в OpenCart точно не работает, по поводу OCStore не уверен).

Прочитайте в нете мануал как правильно опенкарт перевести на https, выполните его и будет вам счастье )))

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

Только что, OtezVikentiy сказал:

Прочитайте в нете мануал как правильно опенкарт перевести на https, выполните его и будет вам счастье )))

Я по факту так и делал...

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


8 минут назад, Feldeshi сказал:

Я по факту так и делал...


Тогда поищите другой мануал, потому что он явно косячный. Как минимум в config.php есть 2 константы HTTP_SERVER и HTTPS_SERVER.
Собственно роут по https:// должен быть только во втором случае. И .htaccess есть необходимость настраивать (вероятнее всего).

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

Так их и есть 2 но проблемы только после первой HTTP_SERVER её тоже нужно перевести в https об этом же и в мануалах сказано. А редирект с www на без www у меня хост автоматом делает, то я в .htacces и не лез. Редирект работает корректно 

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


12 минут назад, Feldeshi сказал:

Так их и есть 2 но проблемы только после первой HTTP_SERVER её тоже нужно перевести в https об этом же и в мануалах сказано. А редирект с www на без www у меня хост автоматом делает, то я в .htacces и не лез. Редирект работает корректно 


Ну... Смотрите, я честно говоря не знаю кто и как там писал мануал и когда... У меня сделано так, что в http прописано http, а в https прописано https. При этом htaccess работает таким образом, что с http роута редиректит на https. Настройка в админке (переход на SSL) включена. При этом в OpenCart всё робит нормально.

Я думаю, что проблема именно в том, что у вас в секции HTTP прописан роут до https и не корректен htaccess.

Как заставить движок работать с другими конфигурациями, я честно говоря хз... Мне кажется, что собственно секцию HTTPS специально и закладывали под использование SSL и как бы... Пытаться настроить что-либо не так, как задумывалось разработчиками - ну такое себе приключение... Может получиться, а может и нет...

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

7 минут назад, OtezVikentiy сказал:

Я думаю, что проблема именно в том, что у вас в секции HTTP прописан роут до https и не корректен htaccess.

Так все гайды указывают на то что HTTP нужно указывать https, иначе все статьи идут по http, что является плохо. 

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


16 часов назад, Feldeshi сказал:

Даст кто-то дельный совет? Очень нужно всё исправить 


Дельный совет:
В http напишите http роут
В https напишите https роут
В .htaccess добавьте
 

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

В админке CMS зайдите в настройки магазина и включите SSL поддержку.
Сбросьте КЭШ.

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

И я как бы не очень понимаю какими гайдами вы пользуетесь, потому что первая же ссылка из яндекса описывает именно то что я написал выше:
https://webformyself.com/kak-perevesti-opencart-s-http-na-https/

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

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

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Так я так и делал) а 301 редирект у меня хост сам настраивает, есть ли необходимость его прописывать в .htaccess 

 

 

UPD: Сайт падает

RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

UPD 2: Ссылки  на статьи

 

Спойлер

1.thumb.jpg.75a2be2a636026ab864c7470f2c06dad.jpg

Статьи идут по http 

Если использовать метод http->http https->https

// HTTP
define('HTTP_SERVER', 'http://сайт.com.ua/');

// HTTPS
define('HTTPS_SERVER', 'https://сайт.com.ua/');

 

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


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

Так я так и делал) а 301 редирект у меня хост сам настраивает, есть ли необходимость его прописывать в .htaccess


А что значит хост сам настраивает? Хост вы имеете в виду команду техподдержки хостинга или что?

Надо значит смотреть по модулям, может быть какой-то модуль у вас сделан с хардкодом http протокола.

Я сейчас не поленился на своём тестовом стенде с OcStore 3 проделал всё то же самое - всё работает. Ссылки на статьи работают корректно.

От прописывания в .htaccess сайт не падает.

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

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

21 минуту назад, OtezVikentiy сказал:

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

Если http_server прописываешь в https то статьи тоже грузятся в https, т.е статьи нормально реагируют проблемы возникают с SEO PRO, который дэфолтно установлен в ocstore. Если у меня сейчас HTTP_SERVER в http, ссылки на подкатегории идут сайт.ру/категория/подкатегория

Если я прописываю в HTTP_SERVER https

То все работает тоже ровно, кроме подкатегории они ловят url index.php?route=product/category&path=63 и перестают быть кликабельными.

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


15 минут назад, Feldeshi сказал:

Если http_server прописываешь в https то статьи тоже грузятся в https, т.е статьи нормально реагируют проблемы возникают с SEO PRO, который дэфолтно установлен в ocstore. Если у меня сейчас HTTP_SERVER в http, ссылки на подкатегории идут сайт.ру/категория/подкатегория

Если я прописываю в HTTP_SERVER https

То все работает тоже ровно, кроме подкатегории они ловят url index.php?route=product/category&path=63 и перестают быть кликабельными.

У любого модуля (даже того, который идет из коробки) есть разработчик или тот, кто его поддерживает. Наверное есть смысл написать ему. Потому что https с SEO PRO я лично не тестировал. Я протестировал конкретно работоспособность движка, что он доступен статьи открываются ну и типа ок.

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

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

54 минуты назад, OtezVikentiy сказал:

У любого модуля (даже того, который идет из коробки) есть разработчик или тот, кто его поддерживает. Наверное есть смысл написать ему. Потому что https с SEO PRO я лично не тестировал. Я протестировал конкретно работоспособность движка, что он доступен статьи открываются ну и типа ок.

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

Вы мне выше писали делать все по инструкции) так оно там и написано что HTTP_SETVER -> https

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


3 минуты назад, Feldeshi сказал:

Вы мне выше писали делать все по инструкции) так оно там и написано что HTTP_SETVER -> https


Модуль, даже если идет из коробки - то это все равно модуль, а не часть движка.
Насколько я понял, что если сделать как я написал - то движок работает корректно, а вот модуль, который генерит ссылки - начинает работать не корректно, я верно понимаю?

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

7 минут назад, OtezVikentiy сказал:


Модуль, даже если идет из коробки - то это все равно модуль, а не часть движка.
Насколько я понял, что если сделать как я написал - то движок работает корректно, а вот модуль, который генерит ссылки - начинает работать не корректно, я верно понимаю?

Ну у меня щас так и стоит, HTTP_SERVER -> http все проблемы которые у меня были с SSL я исправил (Было "защищен не полностью") руками все поправил, единственная проблема что товар в исходном коде идут на http:// но по факту когда переходишь попадаешь на https просто не хочу иметь проблем с гугл из-за наличия http а не https

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


4 минуты назад, Feldeshi сказал:

Ну у меня щас так и стоит, HTTP_SERVER -> http все проблемы которые у меня были с SSL я исправил (Было "защищен не полностью") руками все поправил, единственная проблема что товар в исходном коде идут на http:// но по факту когда переходишь попадаешь на https просто не хочу иметь проблем с гугл из-за наличия http а не https

А кэши очистили?
По идее движок должен был сам подменить эти ссылки корректно.
Если не подменил - то это какой-то баг видимо может одного из модулей или хз... Тут уже сложно как-то диагностировать.

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

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

А кэши очистили?
По идее движок должен был сам подменить эти ссылки корректно.
Если не подменил - то это какой-то баг видимо может одного из модулей или хз... Тут уже сложно как-то диагностировать.

Конечно чистил, в том то и дело что оно напрямую связано с HTTP_SERVER приходит в голову идея только о костыле HTTPS_TOVAR как я делал для CDN :) 

 

UPD: Выяснил в чем проблема, не придумал как её решить, когда прописываю HTTP_SERVER в https всё стает на свои места как и должно быть, но подкатегории не работают потому что получают ссылку httpss лишняя s

 

UPD 2: 


            <search><![CDATA[$category_info = $this->model_catalog_category->getCategory($category_id);]]></search>
            <add position="before"><![CDATA[
        
        if (!empty($_SERVER['HTTPS'])) {
            // SSL connection
            $base_url = str_replace('http', 'https', $this->config->get('config_url'));
        } else {
            $base_url = $this->config->get('config_url');
        }
            ]]></add>
        

Теперь думаю как лучше str replace сделать

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


        <operation>
            <search><![CDATA[$category_info = $this->model_catalog_category->getCategory($category_id);]]></search>
            <add position="before"><![CDATA[
        if (!empty($_SERVER['HTTPS'])) {
            // SSL connection
            $base_url = str_replace('http', 'https', $this->config->get('config_url'));
        } else {
            $base_url = $this->config->get('config_url');
        }
            ]]></add>
        </operation>

Есть кто может помочь разобраться почему str_replace уводит подкатегории в httpss
Когда в конфиге HTTP_SERVER-> https

 

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


В 17.10.2020 в 11:28, Feldeshi сказал:

        <operation>
            <search><![CDATA[$category_info = $this->model_catalog_category->getCategory($category_id);]]></search>
            <add position="before"><![CDATA[
        if (!empty($_SERVER['HTTPS'])) {
            // SSL connection
            $base_url = str_replace('http', 'https', $this->config->get('config_url'));
        } else {
            $base_url = $this->config->get('config_url');
        }
            ]]></add>
        </operation>

Есть кто может помочь разобраться почему str_replace уводит подкатегории в httpss
Когда в конфиге HTTP_SERVER-> https

 


Ну так это в принципе и нормально на самом деле, потому что в $this->config->get('config_url') лежит HTTP секция. И соответственно если у вас https секция не пустая - то он берет HTTP секцию и меняет в ней все вхождения подстроки http на https.

Соответственно если у вас в HTTP лежит https://test.domain - то это будет заменено на httpss://test.domain

P.S.: вы не там ищете проблему. Не правильно прописывать в HTTP - https. Необходимо прописать в HTTP - http, а в HTTPS - https и исправлять пробелмы, которые возникают в этом разрезе. Тогда у вас все встанет на свои места и будет работать корректно, а при таком подходе - вы по сути подставляете костыли под те места где отрывает.

P.P.S.: если уж прям очень хочется прописывать https в HTTP секцию - тогда необходимо по всему коду найти подобные куски кода и исправлять их на $base_url = $this->config->get('config_url'); без ифов вообще. Но это просто адский костыль...

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

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

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

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

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

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

Вхід

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

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

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