Перейти к содержанию
Официальный форум поддержки Simpla

Переадресация с http на https. SSL сертификат


Перейти к решению Решено STM,

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

Здравствуйте!
Установил SSL сертификат.

В .htaccess добавил:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

При открытии http://omskcoins.ru

перекидывает на https:_//omskcoins.ru/index.php?module=MainView&page_url=

При открытии http:_//omskcoins.ru/products/rossiya_25_rubley_2017_strelba_iz_karabina

перекидывает на https:_//omskcoins.ru/index.php?module=ProductView&product_url=rossiya_25_rubley_2017_strelba_iz_karabina

Как сделать так, чтобы в обоих случаях добавлялась буква s в http:// и больше ничего?

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

RewriteEngine on

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

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

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

Заменил на

RewriteEngine on

RewriteCond %{HTTPS}  off  
RewriteRule ^(.*)$ https://omskcoins.ru/$1 [R=301,L]

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

Ничего не поменялось.

 

Ссылка на сообщение
Поделиться на другие сайты
  • Решение
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

и в api/Config.php удалить 46 и 47 строки.

$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
if($_SERVER["SERVER_PORT"] == 443)

чтобы осталось только 

// Протокол
$protocol = 'https';
Ссылка на сообщение
Поделиться на другие сайты

 

 

RewriteEngine on

RewriteCond %{HTTPS}  off  
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

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

 

 

 

 

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

и в api/Config.php удалить 46 и 47 строки.

$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
if($_SERVER["SERVER_PORT"] == 443)

чтобы осталось только 

// Протокол
$protocol = 'https';

 

Спасибо Вам за помощь, но ситуация не изменилась.  :(

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

Вот так выглядит .htaccess в корне сайта

AddDefaultCharset UTF-8
ErrorDocument 404 /404
ErrorDocument 401 /password.php
RewriteEngine on

# Админка теперь по адресу /simpla
RewriteRule    ^admin/?$  simpla [L]

# Каталог товаров
RewriteRule ^catalog/([^/]+)/?$    index.php?module=ProductsView&category=$1 [L,QSA]
RewriteRule ^catalog/([^/]+)/([^/]+)/?$    index.php?module=ProductsView&category=$1&brand=$2 [L,QSA]

RewriteRule ^products/([^/]+)/?$    index.php?module=ProductView&product_url=$1 [L,QSA]
RewriteRule ^products/?$    index.php?module=ProductsView [L,QSA]

RewriteRule ^brands/([^/]+)/?$    index.php?module=ProductsView&brand=$1 [L,QSA]
RewriteRule ^brands/([^/]+)/page_([^/]+)/?$    index.php?module=ProductsView&brand=$1&page=$2 [L,QSA]

# Поиск товаров
RewriteRule ^search/([^/]+)/?$    index.php?module=ProductsView&keyword=$1 [L,QSA]
RewriteRule ^search/?$    index.php?module=ProductsView [L,QSA]

# Блог
RewriteRule ^blog/([^/]+)/?$    index.php?module=BlogView&url=$1 [L,QSA]
RewriteRule ^blog/?$    index.php?module=BlogView [L,QSA]

# Корзина и заказы
RewriteRule ^cart/?$    index.php?module=CartView   [L,QSA]
RewriteRule ^cart/([^/]+)/?$    index.php?module=CartView&add_variant=$1  [L,QSA]
RewriteRule ^cart/remove/([^/]+)/?$    index.php?module=CartView&delete_variant=$1  [L,QSA]
RewriteRule ^order/([^/]+)/?$    index.php?module=OrderView&url=$1  [L,QSA]
RewriteRule ^order/?$    index.php?module=OrderView  [L,QSA]

# Для пользователей
RewriteRule ^user/login/?$    index.php?module=LoginView  [L,QSA]
RewriteRule ^user/register/?$    index.php?module=RegisterView  [L,QSA]
RewriteRule ^user/logout/?$    index.php?module=LoginView&action=logout  [L,QSA]
RewriteRule ^user/password_remind/?$    index.php?module=LoginView&action=password_remind  [L,QSA]
RewriteRule ^user/password_remind/([0-9a-z]+)/?$    index.php?module=LoginView&action=password_remind&code=$1  [L,QSA]
RewriteRule ^user/?$    index.php?module=UserView  [L,QSA]

# Google sitemap
RewriteRule ^sitemap.xml?$    sitemap.php  [L,QSA]

# XML
RewriteRule ^yandex.xml?$    yandex.php  [L,QSA]

# feedback
RewriteRule ^contact/?$    index.php?module=FeedbackView  [L,QSA]

#downloads
RewriteRule ^order/([^/]+)/([^/]+)/?$    index.php?module=OrderView&url=$1&file=$2  [L,QSA]

# Статические страницы
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/?$    index.php?module=PageView&page_url=$1 [L,QSA]
RewriteRule ^/?$    index.php?module=MainView&page_url= [L,QSA]

# Ресайз картинок на лету
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING}
#RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*) 
#RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE]

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

Вызывает подозрения

# Статические страницы
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/?$    index.php?module=PageView&page_url=$1 [L,QSA]
RewriteRule ^/?$    index.php?module=MainView&page_url= [L,QSA] 
Ссылка на сообщение
Поделиться на другие сайты

Блин, вам же говорили, куда вставлять

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

Надо вставлять сразу после

RewriteEngine on

а не в конец файла

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

Блин, вам же говорили, куда вставлять

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

Надо вставлять сразу после

RewriteEngine on

а не в конец файла

Спасибо, исправил. 

Переадресация с товаров и категорий идет правильно, а с главной все еще нет.  :unsure:

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

При открытии http://omskcoins.ru все еще перекидывает на https:_//omskcoins.ru/index.php?module=MainView&page_url=


Как это исправить?


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

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

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

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

Верно, браузер не закрывал несколько дней.

Работает, всем спасибо и с наступающим!  :)

Изменено пользователем Kaktus
Ссылка на сообщение
Поделиться на другие сайты
  • 2 недели спустя...

хм.. сделала все так как написано уважаемым Кактусом, но что-то пошло не так, вместо редиректа морда начала открываться частично, навигация есть. а вместо витрины 404 страницу выдавать, при попытке перейти в любой раздел каталога редирект таки заработал, но если руками опять набрать www.site.ru то опять 404.

Плюс у меня небольшой вопрос а вот эта красота из htacess теперь мусор или как?

 

RewriteCond %{HTTP_HOST} !^www.site\.ru [NC]
RewriteRule ^(.*)  http://www.site.ru/$1 [L,R=301]
 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/
RewriteRule ^(.*)index\.(php|html|htm)$ http://www.site.ru/$1 [R=301,L]
 
у меня по  всему интернету во всех вариантах раскидано много ссылок и если кто кликнет хотелось бы чтобы на хттпс переносило. Я имею в виду старые site.ru www.site.ru и др.. к сожалению. htacess совсем не моё.
 
Так же хотелось бы уточнить про вот это
RewriteCond %{REQUEST_URI} !^/robots.*  
Оно надо или нет все таки?
Спасибо всем, кто ответит по теме 
Изменено пользователем mistika
Ссылка на сообщение
Поделиться на другие сайты
  • 2 месяца спустя...
  • 8 месяцев спустя...
  • 6 месяцев спустя...

Привет, код брал из начала поста. У меня 2.3.7 - все нормально. Спасибо за пост.

Изменено пользователем andreas81
Ссылка на сообщение
Поделиться на другие сайты
  • 3 месяца спустя...

 

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

и в api/Config.php удалить 46 и 47 строки.

$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
if($_SERVER["SERVER_PORT"] == 443)

чтобы осталось только 

// Протокол
$protocol = 'https';

Спасибо это работает

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

А если после подключения ssl, и настройки htacces & confige - на https послетали все стили, куда копать?

шаблон index.tpl смотри и меняй http на https

 

 

 

   

Ссылка на сообщение
Поделиться на другие сайты
  • 3 недели спустя...

Добрый день, пытаюсь перейти на https, воспользовалась советом 

http://forum.simplacms.ru/topic/13261-переадресация-с-http-на-https-ssl-сертификат/?p=103371

Однако вообще ничего не изменилось...в чем может быть причина?

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

Добрый день, пытаюсь перейти на https, воспользовалась советом 

http://forum.simplacms.ru/topic/13261-переадресация-с-http-на-https-ssl-сертификат/?p=103371

Однако вообще ничего не изменилось...в чем может быть причина?

 

какая версия у вас?

Ссылка на сообщение
Поделиться на другие сайты
  • 6 месяцев спустя...
  • 4 месяца спустя...

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

Скачал сайт с сервера, убрал из htaccess

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

вернул как было в api/Config.php 46 и 47 строки, чтоб стало 

$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
        if($_SERVER["SERVER_PORT"] == 443)
	    $protocol = 'https';

Для надежности раскомментил в C:\WebServers\usr\local\php5\php.ini строку

 

;extension=php_openssl.dll

 

но при попытке открыть сайт с денвера получаю 500 ошибку. В логах сервера вижу такое:

 
localhost:443:0 server certificate does NOT include an ID which matches the server name
[Tue Sep 01 01:08:00.411409 2020] [mpm_winnt:notice] [pid 10252:tid 268] AH00354: Child: Starting 64 worker threads.
[Tue Sep 01 01:08:14.014187 2020] [core:alert] [pid 10252:tid 948] [client 127.0.0.1:55217] Z:/home/astra-omsk.ru/www/.htaccess: Invalid command 'Order', perhaps misspelled or defined by a module not included in the server configuration
 
что и где я не доделал? почему денвер по прежнему видит сертификат? как победить?
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...