Jump to content

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


Go to solution Solved by STM,

Recommended Posts

Здравствуйте!
Установил 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:// и больше ничего?

Link to post
Share on other sites

Заменил на

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]

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

 

Link to post
Share on other sites
  • Solution
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';
Link to post
Share on other sites

 

 

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';

 

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

Link to post
Share on other sites

Вот так выглядит .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] 
Link to post
Share on other sites

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

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

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

RewriteEngine on

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

Link to post
Share on other sites

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

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

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

RewriteEngine on

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

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

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

Link to post
Share on other sites

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

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

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

Edited by Kaktus
Link to post
Share on other sites
  • 2 weeks later...

хм.. сделала все так как написано уважаемым Кактусом, но что-то пошло не так, вместо редиректа морда начала открываться частично, навигация есть. а вместо витрины 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.*  
Оно надо или нет все таки?
Спасибо всем, кто ответит по теме 
Edited by mistika
Link to post
Share on other sites
  • 2 months later...
  • 8 months later...
  • 6 months later...
  • 3 months later...

 

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';

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

Link to post
Share on other sites
  • 3 weeks later...

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

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

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

Link to post
Share on other sites

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

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

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

 

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

Link to post
Share on other sites
  • 6 months later...
  • 4 months later...

Уважаемые, а подскажите как победить обратную траблу? По рецепту, закрепленному в начале этой ветки давно и надежно живу на 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
 
что и где я не доделал? почему денвер по прежнему видит сертификат? как победить?
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...