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

[Решено] Как настроить SSL?


Recommended Posts

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

Вот кусок, где, как мне кажется, и собака порылась...

Не собака, а кто-то, кто слабо понимает, как обрабатывается .htaccess.

Все редиректы должны идти до блока

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] 

 

Ну, и в принципе, редиректы, которые должны шаблонно перенаправлять все страницы сайта лучше размещать вообще сразу после

RewriteBase /

 

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


Dotrox, Спасибо за ответ!

То есть,если я Вас правильно понял, выглядеть должно так?

 

RewriteBase /

 

# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
 

# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(mysitename\.ru)
RewriteRule ^ https://%2%{REQUEST_URI}

 

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [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]

 

 

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


  • 1 month later...

Добрый вечер, подскажите пожалуйста, перешла на https, но на странице https://мойсайт.com.ua/ стили провисли, вместо иконок квадратики
на странице https://www.мойсайт.com.ua/ все отлично. как исправить?

я хочу оставить вариант https://мойсайт.com.ua/ нужно ли мне делать постраничный редирект с https://www.мойсайт.com.ua/ на https://мойсайт.com.ua/ чтобы не возникло дублей. Спасибо за ответ

3_cr.png

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


33 минуты назад, lubov17 сказал:

стили провисли, вместо иконок квадратики

В конфиге, видимо, у вас ссылка прописана с www, из-за чего отвалились стили. А в ссылке на иконочный шрифт, возможно, ещё и неправильный протокол, если она абсолютная.

Исправьте домен в конфиге.

 

 

33 минуты назад, lubov17 сказал:

я хочу оставить вариант https://мойсайт.com.ua/ нужно ли мне делать постраничный редирект с https://www.мойсайт.com.ua/ на https://мойсайт.com.ua/ чтобы не возникло дублей.

Его в принципе делать нужно. У сайта должен быть один вариант, а не как ввели, так и открылось.

 

Полностью это будет выглядеть так:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

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

RewriteBase /

 

А ещё не забудьте конфиги ОК поправить.

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


Dotrox, в конфиге у меня получается так
 

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

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

и 
 

<?php
// HTTP
define('HTTP_SERVER', 'http://мойсайт.com.ua/admin/');
define('HTTP_CATALOG', 'http://мойсайт.com.ua/');

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

 

.htaccess подправила


но картинки остались квадратиками, что еще нужно сделать, чтобы правильно отображалось?


и по поводу постраничного редиректа, как правильно прописать каждую страницу? можете подсказать пример одной, спасибо

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


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

по поводу постраничного редиректа, как правильно прописать каждую страницу? можете подсказать пример одной

Я же дал полный код редиректов. Это не постраничный редирект, а шаблонный. Постраничный редирект нужен, когда вам нужно какую-то одну конкретную страницу перенаправить на какую-то другую конкретную страницу. И начальная/конечная ссылки не имеют ничего общего - вот тогда и делается постраничный, потому что больше вариантов нет. А когда вам нужно абсолютно все страницы сайта перенаправить что-то меняя в ссылке (протокол, добавлять/удалять www), тогда делается шаблонный редирект, который работает сразу для всех страниц и его я уже написал в предыдущем сообщении вместе с редиректом на https, который, как я понимаю, уже у вас есть.

 

 

12 часов назад, lubov17 сказал:

картинки остались квадратиками, что еще нужно сделать, чтобы правильно отображалось?

Покажите сайт.

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


У вас ещё и Journal.

Прежде всего уберите везде из конфигов www (судя по тегу base, вы точно где-то www не убрали) и проверьте, что в настройках шаблона домен тоже нигде с www не вписан, потому что у вас сейчас ссылки на все стили и скрипты с www. Правда, по-нормальному, в этих ссылках вообще домена быть не должно, но, видимо, это особенности Journal.

 

Этот иконочный шрифт грузится с вашего сервера и в стилях у него прописан относительный путь, так что используется тег base для полного пути, а у вас в теге base чужой домен (www - считается отдельным поддоменом). Для загрузки шрифтов с чужого домена должны быть на этом домене разрешены кросдоменные запросы, чего у вас, конечно, нет.

В общем, если вы избавитесь везде от www - проблем больше не будет.

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


Подскажите пожалуйста.

После перехода на https прописал в config.php

<?php
// HTTP
define('HTTP_SERVER', 'https://artmassa.com/');

// HTTPS
define('HTTPS_SERVER', 'https://artmassa.com/');

 в admin/config.php

<?php
// HTTP
define('HTTP_SERVER', 'http://artmassa.com/admin/');
define('HTTP_CATALOG', 'http://artmassa.com/');

// HTTPS
define('HTTPS_SERVER', 'https://artmassa.com/admin/');
define('HTTPS_CATALOG', 'https://artmassa.com/');

Не работает админка теперь, сайт https://artmassa.com отображается нормально.

С файлом .htaccess вообще беда, на каждом сайте описаны разные варианты редиректа.

То что у меня сейчас там (сайт работает, кроме админки)

Options +FollowSymlinks

# 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 /

# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
 
# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(mysitename\.ru)
RewriteRule ^ https://%2%{REQUEST_URI}

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [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]

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.artmassa\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://artmassa.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Как решить проблему? При чем на странице админке пишет, что подключение не защищено, наверное с редиректом траблы?

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


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

Не работает админка теперь, сайт https://artmassa.com отображается нормально.

Почему вы для админки не прописали везде https?

 

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

С файлом .htaccess вообще беда

Не просто беда, а огромнейшая! Вы пробовали включать мозги когда копипастили найденное в интернете? Такое впечатление, что вы даже не пытались прочитать, что копипастите!

 

Пойдём по порядку. Самое безобидное:

# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Тут всё было бы идеально, если б не 2 нюанса: 1. у вас https, а здесь редирект на http, 2. в комментарии (первая строка) указано, что это редирект на ssl версию без www, а ssl = https (в данном контексте). То есть, редирект и несовсем правильный и комментарию не соответствует.

 

Следующее уже веселее:

# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(mysitename\.ru)
RewriteRule ^ https://%2%{REQUEST_URI}

Как вы думаете, что такое "mysitename\.ru"? Мне кажется, не нужно быть специалистом по .htaccess, чтоб догадаться, что здесь нужно было вписать имя вашего домена.

 

Теперь переходим к тому, что вы скопипастили в конец файла.

Прежде всего, если вы на этом форуме попытались бы найти информацию про редиректы для https, то в каждой теме по несколько раз прочитали бы, что все редиректы должны идти сразу после

RewriteBase /

Мне приходится это повторять снова и снова, а люди снова и снова пихают всё куда вздумается, а потом жалуются на проблемы.

 

Теперь смотрим на вот этот блок:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.artmassa\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://artmassa.com/$1 [R=301,L]

Зачем тут "RewriteEngine On"? Эта директива уже есть в файле и одного раза вполне достаточно (это к вопросу о слепом копипасте).

 

Теперь смотрим на следующие строки - это редирект с www на версию без www. При чём редирект правильный (при условии, что здесь именно ваш домен, а не опять слепой копипаст), но зачем вы это добавили, если у вас уже и так есть в файле попытка такого редиректа? Да, тот редирект у вас не работает. Ну так удалили бы и добавили этот, а не пихали один за другим пока что-нибудь таки не заработает.

 

В общем, удалите всё из вашего .htaccess и впишите это:

Options +FollowSymlinks

# 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
RewriteBase /

# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
 
# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^(.*)/$ /$1/?%1 [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [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]

Большая часть этого кода у вас уже есть. Я просто убрал лишнее и подправил ошибки.

 

И в конфиге админки пропишите везде https.

 

 

 

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


On 01.08.2017 at 8:42 PM, Dotrox said:

Почему вы для админки не прописали везде https?

 

Не просто беда, а огромнейшая! Вы пробовали включать мозги когда копипастили найденное в интернете? Такое впечатление, что вы даже не пытались прочитать, что копипастите!

 

Пойдём по порядку. Самое безобидное:


# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Тут всё было бы идеально, если б не 2 нюанса: 1. у вас https, а здесь редирект на http, 2. в комментарии (первая строка) указано, что это редирект на ssl версию без www, а ssl = https (в данном контексте). То есть, редирект и несовсем правильный и комментарию не соответствует.

 

Следующее уже веселее:


# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www\.)?(mysitename\.ru)
RewriteRule ^ https://%2%{REQUEST_URI}

Как вы думаете, что такое "mysitename\.ru"? Мне кажется, не нужно быть специалистом по .htaccess, чтоб догадаться, что здесь нужно было вписать имя вашего домена.

 

Теперь переходим к тому, что вы скопипастили в конец файла.

Прежде всего, если вы на этом форуме попытались бы найти информацию про редиректы для https, то в каждой теме по несколько раз прочитали бы, что все редиректы должны идти сразу после


RewriteBase /

Мне приходится это повторять снова и снова, а люди снова и снова пихают всё куда вздумается, а потом жалуются на проблемы.

 

Теперь смотрим на вот этот блок:


RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.artmassa\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ https://artmassa.com/$1 [R=301,L]

Зачем тут "RewriteEngine On"? Эта директива уже есть в файле и одного раза вполне достаточно (это к вопросу о слепом копипасте).

 

Теперь смотрим на следующие строки - это редирект с www на версию без www. При чём редирект правильный (при условии, что здесь именно ваш домен, а не опять слепой копипаст), но зачем вы это добавили, если у вас уже и так есть в файле попытка такого редиректа? Да, тот редирект у вас не работает. Ну так удалили бы и добавили этот, а не пихали один за другим пока что-нибудь таки не заработает.

 

В общем, удалите всё из вашего .htaccess и впишите это:


Options +FollowSymlinks

# 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
RewriteBase /

# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
 
# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^(.*)/$ /$1/?%1 [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [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]

Большая часть этого кода у вас уже есть. Я просто убрал лишнее и подправил ошибки.

 

И в конфиге админки пропишите везде https.

 

 

 

Я благодарю за попытку, но как ни заходило, так и не заходит

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


8 часов назад, vksenos сказал:

как ни заходило, так и не заходит

 

А вот это вы  сделали:

В 01.08.2017 в 20:42, Dotrox сказал:

И в конфиге админки пропишите везде https.

?

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


  • 4 weeks later...
  • 1 month later...

Всем привет. Если уже было-поправьте ссылкой.

Как правильно настроть https для мультимагазина? Ситуация следующая- основной магазин редиректит на https как бы не прописывал в поиске- http, www, domen.ru - сайт открывается верно https://domen.ru  . и это правильно. :)) а вот второй магазин в админке- если в браузере ввести https://2domen.ru - то откроется с этим url.

а если ввести просто 2domen.ru , www.2domen.ru или http://2domen.ru  происходит редирект на https://domen.ru 

в настройках мультимагазина ссылка указана с https ,  ssl для второго магазина включен, сертификат хостер вроде подключил(раз открывается по прямому url)

Прошу помощи

 

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


38 минут назад, Dimasscus сказал:

как бы не прописывал в поиске- http, www, domen.ru - сайт открывается верно https://domen.ru  . и это правильно. :))

Судя по всему, как раз неправильно!

У вас проблема из-за того, что у вас в редиректе для основного домена явно прописан домен, потому на него и редиректит второй домен.

Редирект должен быть шаблонным, а не с жёстко вбитым доменом, тогда он будет работать сразу для всех доменов мультимагазина и одинаково правильно.

 

Покажите ваш .htaccess.

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


18 часов назад, Dotrox сказал:

 

 

Покажите ваш .htaccess.

понял о чем вы! но как поправить увы не знаю! 

RewriteBase /
Options +FollowSymLinks
RewriteEngine on
 RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]

  RewriteRule ^(.*)$ https://%1/$1 [R=301,L] 

 RewriteCond %{SERVER_PORT} !^443$
 RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ https://letto.by/$1 [R=301,L]
 

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


к сожалению не помогло

https://lettoby.ru/ и http://lettoby.ru/  посмотрите

в первом случае все норм. во втором редирект на первый основной сайт

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


 

17 часов назад, Dimasscus сказал:

https://lettoby.ru/ и http://lettoby.ru/  посмотрите

в первом случае все норм. во втором редирект на первый основной сайт

 

У меня в обоих случаях открывается домен lettoby.ru с https.

Браузеры кешируют редиректы. Если хотите точно знать применились ли изменения и правильно ли они работают, используйте анонимное окно.

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


  • 2 weeks later...

Прошу прощения, если плохо посмотрел форум. Аналогичная проблема.

Получил SSL сертификат, и теперь не могу войти в админку.

Подскажите решение, пожалуйста.

Движок ocStore 2.3.0.2.3. Операционка на хостинге Centos 7.

 

В config указал так (вместо "мой сайт" и "админ" - реальные значения конечно):

// HTTP
define('HTTP_SERVER', 'http://мой сайт.ru/');

// HTTPS
define('HTTPS_SERVER', 'https://мой сайт.ru/');

И

// http
define('http_SERVER', 'http://мой сайт.ru/админ/');
define('http_CATALOG', 'http://мой сайт.ru/');

// https
define('https_SERVER', 'https://мой сайт.ru/админ/');
define('https_CATALOG', 'https://мой сайт.ru/');

в htaccess так как указано ниже:

В 01.08.2017 в 20:42, Dotrox сказал:

В общем, удалите всё из вашего .htaccess и впишите это:


Options +FollowSymlinks

# 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
RewriteBase /

# www -> ssl non www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
 
# non ssl -> ssl
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^(.+)/$
RewriteRule ^(.*)/$ /$1/?%1 [R=301,L]

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [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]

Большая часть этого кода у вас уже есть. Я просто убрал лишнее и подправил ошибки.

 

И в конфиге админки пропишите везде https.

 

 

 

 

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


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

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

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

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

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

Вхід

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

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

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

×
×
  • Створити...

Important Information

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