Jump to content
Feldeshi

После перехода на 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 чистил

Edited by Feldeshi

Share this post


Link to post
Share on other sites
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, выполните его и будет вам счастье )))

Share this post


Link to post
Share on other sites
Только что, OtezVikentiy сказал:

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

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

Share this post


Link to post
Share on other sites
8 минут назад, Feldeshi сказал:

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


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

Edited by OtezVikentiy

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
12 минут назад, Feldeshi сказал:

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


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

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

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

Share this post


Link to post
Share on other sites
7 минут назад, OtezVikentiy сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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/

Edited by OtezVikentiy

Share this post


Link to post
Share on other sites
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/');

 

Edited by Feldeshi

Share this post


Link to post
Share on other sites
1 час назад, Feldeshi сказал:

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


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

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

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

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

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

Share this post


Link to post
Share on other sites
21 минуту назад, OtezVikentiy сказал:

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

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

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

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

Share this post


Link to post
Share on other sites
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, чтобы работал один из модулей - ну такой себе костыль, который является не слишком то очевидным решением.

Share this post


Link to post
Share on other sites
54 минуты назад, OtezVikentiy сказал:

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

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

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

Share this post


Link to post
Share on other sites
3 минуты назад, Feldeshi сказал:

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


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

Share this post


Link to post
Share on other sites
7 минут назад, OtezVikentiy сказал:


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

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

Share this post


Link to post
Share on other sites
4 минуты назад, Feldeshi сказал:

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

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

Share this post


Link to post
Share on other sites
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 сделать

Edited by Feldeshi

Share this post


Link to post
Share on other sites
        <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

 

Edited by Feldeshi

Share this post


Link to post
Share on other sites
В 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'); без ифов вообще. Но это просто адский костыль...

Edited by OtezVikentiy

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.