Автор Тема: Зацикленный редирект при включении SSL  (Прочитано 5419 раз)

27 Сентябрь 2016, 22:50:31
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Здравствуйте, граждане.
Не могу решить проблему с сайтом (уже все темы перечитал но так и не получилось).

Кратко: При включении ssl работают только главная, авторизация, админка и 404ошибка, и файл открывает sitemap.xml Все остальные страницы(товары/категории/статьи) не грузит: "сайт выполнил переадресацию слишком много раз".

Версия Prestashop: 1.5.4.1
URL сайта: http://www.okuchnik.ru/
Сервер: nginx + apache (режим работы PHP FastCGI).

уже сто раз менял/правил что по темам предлагается и запутался как было вначале,...
Сейчас  режим ssl выключен (все урлы на страницах ведут на http), но при ручном вводе открываются и по https и по http.
При включении ssl возникает проблема.
28 Сентябрь 2016, 09:39:24
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
"сайт выполнил переадресацию слишком много раз".
Такая ошибка в основном из-за плохой настройки сервера для https.
Напишите в службу поддержки. После их ответа можно решить что и как делать. 
29 Сентябрь 2016, 11:37:10
Ответ #2
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А что у них спросить конкретно?
Я им задвал уже этот вопрос, мол "есть проблема, нужно посмотреть как сервер настроен".
Они сказали что все настройки сервера смотрите в htaccess.



Если на вкладке СЕО И ЧПУ прописано
Домен SSL https://www.сайт.ru
И при включении режима ssl
формируется вот такой url (и естественно ничего не грузится):
https://https//www.сайт.ru/

то какой файл может такое создавать?
29 Сентябрь 2016, 12:13:30
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В htaccess может такой url формировать. При отключенном чпу такой проблемы нет?
30 Сентябрь 2016, 10:50:44
Ответ #4
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При отключенном чпу всеравно формируются такие урлы.

можете подсказать что в этом htaccess поправить??
 
<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>
<IfModule mod_rewrite.c>

# Disable Multiviews
Options -Multiviews

RewriteEngine on
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule . - [E=HTTP_AUTHORIZATION:%1]

RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^www.okuchnik.ru$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

# Images
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
# AlphaImageLoader for IE and fancybox
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]

# Dispatcher
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^.*$ - [NC,L]
RewriteCond %{HTTP_HOST} ^https://www.okuchnik.ru$
RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
</IfModule>

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

FileETag INode MTime Size
<IfModule mod_deflate.c>
<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript
</IfModule>
</IfModule>

#If rewrite mod isn't enabled
ErrorDocument 404 /index.php?controller=404 
30 Сентябрь 2016, 11:13:14
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 1808
  • Репутация: +49/-1
  • Сообщество PrestaShop
    • Просмотр профиля
Для prestashop 1.6 так
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]
RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L][/code

Но если у вас при выключенном чпу остается проблема, то проблема не в htaccess. Это проблема настройки хостинга.
30 Сентябрь 2016, 16:58:00
Ответ #6
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
техподдержка хостинга предложила поправить htaccess следующими строками...
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
в принципе все вернулось к тому с чего начиналось.

Страницы с https грузятся, при попадани на http происходит редирект, но...
Внутренние ссылки все на сайте ведут на http (соответственно и контент незазищещнный и нет желанного значка в браузере).

ЛЮДИИИ,
как исправить все ссылки в шаблоне.
для начала везде поменял в шаблонах
base_dir на base_dir_ssl
но ничего не произошло.
в БД такого параметра не нашел... Был
PS_SHOP_DOMAIN и PS_SHOP_DOMAIN_SSL но они указаны верно, и при редактировании ничего не меняется.(кэш отключен).

может кто подскажет, как в бд или в шаблонах сменить урл всех ссылок на всех страницах ?
30 Сентябрь 2016, 18:01:53
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
В папке /themes/ваша тема/ делаете поиск замену "http" на "https" по всем файлам.
30 Сентябрь 2016, 18:45:28
Ответ #8
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
В Prestashop в админке:
Настройки / Общее
Включить SSL : Да
Включить SSL на всех страницах : Да
При включени, все страницы вашего магазина будут использовать SSL.

Остальные проблемы это настройка сервера.
Вот подобная тема - Проблемы в настройке SSL-сертификата. [Решено]
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
01 Октябрь 2016, 11:20:49
Ответ #9
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
В папке /themes/ваша тема/ делаете поиск замену "http" на "https" по всем файлам.
там нет такого, все ссылки формируются какими то переменными, типа:
<a href="{$product.link|escape:'htmlall':'UTF-8'}"
(и где-то должен включаться  параметр пторокола ссылок, но я не знаю где именно)

Цитировать
Остальные проблемы это настройка сервера.
Вот подобная тема - Проблемы в настройке SSL-сертификата. [Решено]
спасибо, тему покурю, все попробую (но та тема мне уже попадалась и там 1,6 версия а у меня 1,5 и нету пункта Включить SSL на всех страницах : Да) но ещё раз печитаю...
01 Октябрь 2016, 11:47:25
Ответ #10
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
В prestashop 1.5 протокол менять сложно. Там нет разделения как в prestashop 1.6. В контроллерах и классах меняют протокол в версии 1.5.
02 Октябрь 2016, 12:33:51
Ответ #11
  • Новичок
  • *
  • Сообщений: 14
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
В контроллерах и классах меняют протокол в версии 1.5.
не знаете какой контроллер/класс отвечает за blockcategories , а также в фильтре blocklayered
02 Октябрь 2016, 12:50:43
Ответ #12
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
У этих модулей нет собственных контроллеров.
За модули в prestashop отвечает ModuleFrontController.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.