Как, чем и в какой последовательности редиректить в Prestashop ( схематически)

omega80

Мой дом здесь!
Регистрация
19 Июл 2015
Сообщения
131
Реакции
285
Несколько дней пытаюсь правильно сделать редирект. Изначально сайт был site.com, редирект был с www на site.com, затем в 2015 году поставил сертификат (посредством VestaCP) и в админке PrestaShop активировал ssl (я так понимаю что тоже записывает правило редиректа в .htaccess).
Недавно благополучно навернул web сервер, производя обновление ОС с Debian 7 на 8, соответственно потянуло за собой обновление программ (PHP, Nginx, MySQL...). B итоге все перестало работать. Запросив помощь у знающих людей (платно), получил в результате только геморрой (оплатив нескольким помощникам). В итоге последний помощник переустановили панель управления VestaCP, но вот путаница с редиректами осталась.
Прочитал много постов на престафорум и тут, но единой картины не сложилось.
В связи с этим прошу объяснить как правильно производить все редиректы при следующей связке:
apache2+nginx+Prestashop 1.6.1.11

Схематически представляю вот так:

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


Первый редирект производится в конфигах Nginx (если я правильно понимаю), далее, если статика - то в дело вступают конфиги .htaccess самой престы.

Вопрос: куда записывать все редиректы на site.com?

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

P.S.: изначально было только site.com, так он настроен и в яндексе. В настоящее время яндекс прислал письмо что site.com не виден, хотя по https сайт открывается.
 
--------------------------------------------------------------------------------------------------------------------------
1) Вот содержимое nginx.conf:
Скрытое содержимое доступно для зарегистрированных пользователей!

не понял для чего человек сделал третий редирект на sever.kitaidar.com.
В интернете часто встречал рекомендацию о редиректе именно в nginx:
*****
Nginx, 301 редирект с www на без www
Пример 301-го редиректа на основное зеркало без www:

  1. server {
  2. #...
  3. if ($host ~* www\.(.*)) {
  4. set $host_without_www $1;
  5. rewrite ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся permanent;
  6. }
  7. }
*****
--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
2) Теперь содержимое текущего файла .htaccess:
Скрытое содержимое доступно для зарегистрированных пользователей!
тут я так понимаю редирект производится в эти строках:
RewriteEngine on
#Domain: Для просмотра ссылки Войди или Зарегистрируйся
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

--------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------
3) Вот настройки в самой PrestaShop (тут я пробовал уже сам, вернул на исходный вид, вопрос про правильность указания адрес с поле "Домен SSL" - как правильно тут написать адрес? )
Скрытое содержимое доступно для зарегистрированных пользователей!


=====================================

UPD.: решил на другой vps запустить новый сайт с самого начала, сравню сформировавшиеся автоматически файлы конфигураций, но на многих ресурсах читал, что не совсем верно Prestashop создает файл .htaccess.
Вопрос: матёрые профессионалы самостоятельно допиливают указанный файл?
(вопрос про правильные редиректы и места их прописывания остается открытым)

****************************

UPD_2: не могу пока экспериментировать - народ на сайте, буду пробовать ночью, когда минимум посетителей. Пожалуйста, подскажите, по какой схеме сделать правильный редирект?
 
Последнее редактирование:
Uberi redirect v .htaccess na www vot i vsio.
I neles naprimuju v nginx configi... vsio cto est v public_, vesta, i prestashop
Jesli meniaesch config nginx nezabud Rebuild web sdelat ir restart ..:)
 
с супругой теперь решили разделить зону ru и com, вот Для просмотра ссылки Войди или Зарегистрируйся.
Сейчас вся ссылочная масса идет на site.com, думаю надо будет редиректить на .ru с .com посредством .htaccess. Поэтому хочу досконально изучить данный вопрос, чтобы не потерять ссылки. Я так понимаю, что на переориентацию ПС может уйти до нескольких месяцев, по крайней мере так было году в 2012.
 
Jesli poprosche, prigoditsia etot modul... Rabotajet otlicno. Sam proboval. Redirekty ocen chorocho delajet..:)
I nenado budet paritsia v htaccess :)
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Uberi redirect v .htaccess na www vot i vsio.
в приведенном выше листинге файлы .htaccess нет www, если я правильно понимаю, то там было бы вот так:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]

но у меня сейчас вот так:
RewriteEngine on
#Domain: Для просмотра ссылки Войди или Зарегистрируйся
RewriteRule . - [E=REWRITEBASE:/]
RewriteRule ^api$ api/ [L]

Jesli poprosche, prigoditsia etot modul... Rabotajet otlicno. Sam proboval. Redirekty ocen chorocho delajet..:)
I nenado budet paritsia v htaccess
уж больно много модулей и так, надо по максимальному отказываться от них, если уж и на редирект модуль ставить, то имхо такой комбайн получается
==============================
P.S.: просмотрел еще раз - у меня сейчас (в листинге) вообще нет редиректа (по домену с www на него) получается? Блин, преста же перезатирает его при изменениях в пункте url ))

Перейти по ссылке
вот уже интересная информация, пошел читать.

Кстати, очень понравилась скорость на PHP 7 - преста 1.6.1.15 просто летает, из коробки 88 баллов в гугл пейджспиид
 
Последнее редактирование:
Из коробки 1.7 на пхп 5.6 тоже 87 отдаёт с мобилки и 80 с обычной.
А вот если переключить на пхп7, то всё также.
 
Рабочие конфиги.

На apach, прописывается в .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^Для просмотра ссылки Войди или Зарегистрируйся [NC]
RewriteRule ^(.*)$ Для просмотра ссылки Войди или Зарегистрируйся [R=301,L]

На nginx, прописывается в nginx в файл.conf

server_name Для просмотра ссылки Войди или Зарегистрируйся
rewrite ^/(.*)$ Для просмотра ссылки Войди или Зарегистрируйся permanent;
 
Назад
Сверху