Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

ocstore 1.5 не работает ЧПУ после включения SSL


 Поделиться

Рекомендованные сообщения

Здравствуйте!

Столкнулся с проблемой: при попытке перевести сайт на https некорректно работает ЧПУ, точнее не работает вообще.

1. В админке в настройках сайта включил использование SSL.

2. Что сделал: изменил в config.php и admin/config.php адрес сайта.

Итог: админка заработала корректно. При попытке попасть на главную страницу сайта при включенном seo_pro идет редирект вида https://site.com/https://site.com и, понятное дело, ничего не открывается, ошибка 404. При влюченном стандартном ЧПУ главная страница сайта открывается корректно, но при попытке пройти по любой ссылке ошибка 404 - т.е. движок ссылки с ЧПУ вывел, но обработать их не может. Отключаю ЧПУ - все прекрасно.

.htaccess пробовал дефолтный, который идет вместе с движком и пробовал править свой. В данный момент он имеет вид:

Options +SymLinksIfOwnerMatch

# Prevent Directoy listing 
Options -Indexes

# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini|log)">
 Order deny,allow
 Deny from all
</FilesMatch>

# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ 

RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTPS/ [NC]
RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ https://site.com/$1 [L,R=301]
RewriteRule ^sitemap.xml$ index.php?route=record/google_sitemap_blog [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

AddType image/svg+xml .svg
AddOutputFilterByType DEFLATE image/svg+xml

# Remove Browser Bugs
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent

# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0

# Set up caching on media files for 5 weeks
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>

# Set up caching on media files for 5 weeks
<FilesMatch "\.(gif|jpg|jpeg|png|swf|svg)$">
ExpiresDefault A3024000
Header append Cache-Control "public"
</FilesMatch>

# Set up 1 hour caching on commonly updated files
<FilesMatch "\.(xml|txt|html|js|css)$">
ExpiresDefault A604800
Header append Cache-Control "proxy-revalidate"
</FilesMatch>

# Force no caching for dynamic files
<FilesMatch "\.(php|cgi|pl|htm)$">
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</FilesMatch>

Любая помощь приветствуется. Если проблема обсуждалась ранее, дайте, пожалуйста, ссылку

Изменено пользователем warezliker
Ссылка на комментарий
Поделиться на других сайтах


Ссылка на комментарий
Поделиться на других сайтах

В 26.01.2017 в 12:56, markimax сказал:

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

Ссылка на комментарий
Поделиться на других сайтах


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

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

Да yandex рекомендует до склейки зеркал не делать редирект
И есть PRO версия фикса которая работает и на opencart 1.5.x - SEO HTTPS FIX PRO
При правильном переезде (особенно "для" yandex) в 99% случаев он нужен
Понимаете, существуют много хостеров, много настроек их серверов и все их "финты ушами" предугадать невозможно
Вот поэтому переезд платная услуга
Иногда "такое" бывает, что можно день потратить на "выиск" багов хостеров

Ссылка на комментарий
Поделиться на других сайтах

если в .htaccess убрать строки

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTPS/ [NC]

RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ https://site.com/$1 [L,R=301]

- какая реакция?

Ссылка на комментарий
Поделиться на других сайтах

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

Да yandex рекомендует до склейки зеркал не делать редирект
И есть PRO версия фикса которая работает и на opencart 1.5.x - SEO HTTPS FIX PRO
При правильном переезде (особенно "для" yandex) в 99% случаев он нужен
Понимаете, существуют много хостеров, много настроек их серверов и все их "финты ушами" предугадать невозможно
Вот поэтому переезд платная услуга
Иногда "такое" бывает, что можно день потратить на "выиск" багов хостеров

фикс я этот купил, еще не тестил, т.к. не было возможности. Просто ощущение, что там проблема не в том, чтоб заставить сайт работать по двум протоколам сразу, а в кривой работе ЧПУ.
По поводу хостинга - у меня ВДС, линукс, что хочешь, то и делай. С настройкой апача пришлось повозиться, но 2.х работает, а 1.5.х нет, поэтому на настройки сервера я не грешу

Ссылка на комментарий
Поделиться на других сайтах


2 часа назад, AlexDW сказал:

если в .htaccess убрать строки

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTPS/ [NC]

RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ https://site.com/$1 [L,R=301]

- какая реакция?

Попробую ближе к вечеру, отпишусь

Ссылка на комментарий
Поделиться на других сайтах


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

если в .htaccess убрать строки

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTPS/ [NC]

RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ https://site.com/$1 [L,R=301]

- какая реакция?

Попробовал. Изменений в поведении нет:

1. без ЧПУ вроде все работает, кроме страницы товара (но тут выясняю, т.к. больше похоже на глюк одного из модулей),

2. со стандартным ЧПУ работает главная и 404 ошибка при попытке попасть на любую страницу,

3. с сео_про главная добавляет в адрес сайта ссылку на сайт еще раз (т.е. надо https://site.com/category/ оно пишет https://site.com/https://site.com/gategory) другие страницы 404. Аналогичное поведение, если взять родной .htaccess из движка, без каких-либо изменений. 
Фикс: установил, но делу он не помог, т.к. судя по настройкам он как раз рулит склейкой зеркал по большей части. Он генерит варнинг:

PHP Warning:  strpos() expects parameter 1 to be string, array given in /var/www/site.com/system/library/agoo/response.php on line 16

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

Ссылка на комментарий
Поделиться на других сайтах


если без чпу работает - пробуйте заменить файлы

catalog\controller\common\seo_url.php
catalog\controller\common\seo_pro.php

их оригиналами из дистрибутива и очистить системный кеш (только копии своих сохраните перед заменой на всякий случай)

Ссылка на комментарий
Поделиться на других сайтах

6 часов назад, warezliker сказал:

PHP Warning:  strpos() expects parameter 1 to be string, array given in /var/www/site.com/system/library/agoo/response.php on line 16

 

Вот так и палятся :mrgreen:

Не должно быть такого warning - все таки это два моих модуля
В данном случае файл от SEO CMS (причем очень старой версии)
Но, я проверил, ...  вас нету в списках купивших SEO CMS
Оправдываете ник ?

Ссылка на комментарий
Поделиться на других сайтах

Откуда у Вас модуль SEO CMS  ?

Ссылка на комментарий
Поделиться на других сайтах

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

Вот так и палятся :mrgreen:

Не должно быть такого warning - все таки это два моих модуля
В данном случае файл от SEO CMS (причем очень старой версии)
Но, я проверил, ...  вас нету в списках купивших SEO CMS
Оправдываете ник ?

Я у вас покупал модули на opencartadmin, там у меня аккаунт на другой почтовый ящик. В этот раз купил здесь. Внизу скрин с моего аккаунта. Каждый раз пиши, доказывай, что покупал и т.д. Модуль блога старый, т.к. он работает и смысла обновлять ради обновления я не вижу (ну и лечить сопутствующие бока с версткой тоже).

11 часов назад, ArtemPitov сказал:

Откуда у Вас модуль SEO CMS  ?

Смотрите выше

ccb57d34e70f43b892757cd47ab5ce5c.png

Screenshot_1.png

 

Все довольны?

Изменено пользователем warezliker
Ссылка на комментарий
Поделиться на других сайтах


14 часов назад, AlexDW сказал:

если без чпу работает - пробуйте заменить файлы

catalog\controller\common\seo_url.php
catalog\controller\common\seo_pro.php

их оригиналами из дистрибутива и очистить системный кеш (только копии своих сохраните перед заменой на всякий случай)

Это пробовал - не помогло (ну и проверил предварительно - файлы были идентичны).

Ссылка на комментарий
Поделиться на других сайтах


Провел всю процедуру сначала (со свежей копией файлов и базы), чтобы понять, в какой момент оно затыкается.
Апач отдает сайт по двум протоколам.
Предварительно проверил работу по http - все отлично.
Приключения начинаются, если поменять в конфигах согласно с инструкцией урлы.
Админка работает хорошо по https, по http сайт работает хорошо, по https пишет ошибку редиректа: Firefox has detected that the server is redirecting the request for this address in a way that will never complete. Отключаю ЧПУ - начинает работать фронтэнд

 

Ссылка на комментарий
Поделиться на других сайтах


24 минуты назад, warezliker сказал:

Все довольны?

Да :ugeek:
Напишите в ЛС  - я хоть ник аккаунта у себя сменю, а то запутаемся

Ссылка на комментарий
Поделиться на других сайтах

Здаюсь.

установил, обновил все модули и зависимости, без ЧПУ (отключен в админке) все работает.

включаю стандартное ЧПУ - главная работает, любые другие ссылки - error 404.

В логах чисто, за исключением сообщений о том, что страница не найдена.

включаю сео_про - главная страница too many redirects, любая другая - error 404.

в логах срач о редиректах (при переходе на главную постоянные редиректы с http на https) и упоминания о 404 ошибке. Фигня с редиректами при включении сео_про решается включением галки "использовать SSL" в админке, тогда с главной все нормально, 404 ошибка никуда не исчезает.

Что пробовал:

1. убрал в настройках категории товаров ЧПУ-ссылку, теперь в эту категорию можно попасть и при включенном ЧПУ на сайте, т.к. ссылка обычная вида index.php?route=product/category&path=59

2. в seo_pro.php в методе validate попробовал вывести содержимое переменных $seo и $url. Одинаковы, но выводятся только при открытии главной, для других страниц ничего нет.

как понять, что ему не так и почему оно не хочет обрабатывать любые другие ссылки? Где можно вывести что-то на дебаг?

 

Изменено пользователем warezliker
Ссылка на комментарий
Поделиться на других сайтах


если сани не едут сами - пробуйте на голом движке с дефолтным htaccess, без всяких приблуд/модулей

Ссылка на комментарий
Поделиться на других сайтах

Всем спасибо за попытки помочь, разобрался.

В куске конфига апача, отвечающем за работу с ssl были строки AllowOverride None, которые запрещали чтение директив .htaccess. В итоге по 80 порту все работало корректно, по 443 все падало.

Тему можно считать закрытой

 

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.