Jump to content

<base href="{$config->root_url}/"/>


Recommended Posts

 

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/payment [NC]
RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} [L]

такая штука должна сработать

 

спасибо

попробовал - не работает.

 

Сейчас в htaccess прописаны переадресация с www на без www, и переадресация с другого домена.

# Перебрасываем на домен без www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Переадресация со второго домена
RewriteCond %{HTTP_HOST} ^(?:www\.)?domen2\.ru$ [NC]
RewriteRule ^(.*)$ http://domen1.ru/$1 [R=301,L]

перед ними вставил ваш код - не сработало, попробовал после них - также не работает.

 

хотя мои переадресации работают.

такое ощущение, что не понимается %{HTTPS} on

 

файл api/config.php стандартный

Edited by simpler
Link to post
Share on other sites

Ребята, а кто может помочь сделать с https на http? Файл заводской установил и прописал так:

 

        // Протокол
        $protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='http';
            $protocol = 'http';
 

не работает перенаправление с https :(

Link to post
Share on other sites

в общем совместными усилиями я победил переадресацию c https на http, кроме папки payment всё работает отлично!

Т.е. получается что сайт полностью работает на http, а в момент приема платежей переходит на https.

 

Рассказываю что сделал (Simpla 2.2.4)

1) В файл api/config.php вставил код от osben:

// Протокол
		$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https'? 'https' : 'http';
		if($_SERVER["SERVER_PORT"] == 443)
			$protocol = 'https';
		elseif (isset($_SERVER['HTTPS']) && (($_SERVER['HTTPS'] == 'on') || ($_SERVER['HTTPS'] == '1')))
			$protocol = 'https';
		elseif (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https' || !empty($_SERVER['HTTP_X_FORWARDED_SSL']) && $_SERVER['HTTP_X_FORWARDED_SSL'] == 'on')
			$protocol = 'https';

		$this->vars['protocol'] = $protocol;

2) в корневой файл .htaccess по совету simplashop вставил код:

RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} !^/payment [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Первую строчку в этом коде мне дал мой хостинг-провайдер.

 

У меня всё работает. Всем спасибо за помощь!

Link to post
Share on other sites
  • 1 month later...
  • 11 months later...

Ребята выручайте, не могу понять, почему не срабатывает редирект.

 

Суть вопроса такая - у сайта есть сертификат, но сайт работает на http, на https полностью переводить не собираюсь.

Нужно чтобы при переходе в корзину (/cart) и на странице заказа (/order) автоматически перебрасывало на https-версию.

 

Сейчас за переадресацию отвечают эти строки:

RewriteEngine on

RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} !^/payment [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

# Перебрасываем на домен без www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

 

 т.е. с https автоматически перебрасывает на http, как мне и надо, но нужно сделать исключение для корзины и заказа

 

пытался добавить 

RewriteCond %{REQUEST_URI} !^/cart [NC]

не срабатывает, так и остается на http

 

Выручайте! Очень надо, гугл мерчант такие дурацкие требования предъявляет(((

Link to post
Share on other sites

Поясните а как можно сделать частично с https?

Бред какой-то! Сайт весь на https либо на http, сделать так как вы хотите не получится, разве что на поддомен но тогда нужно будет переписывать движок.

Link to post
Share on other sites

Возможно, "пытался добавить" в неподходящее место. Возможно, не добавил условие на протокол. Возможны еще десятки причин.

 

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

Edited by ahmed
Link to post
Share on other sites

Поясните а как можно сделать частично с https?

Бред какой-то! Сайт весь на https либо на http, сделать так как вы хотите не получится, разве что на поддомен но тогда нужно будет переписывать движок.

 

Я сам поражаюсь этому бреду! Гугл Мерчант требует на любых страницах ввода личных данных иметь защищенное соединение https.

Посмотрел выдачу гугла - всё-таки можно реализовать то, что я хочу.

Вот примеры, где корзина на HTTPS, а сам сайт на HTTP:

http://www.dns-shop.ru/

http://www.lkg.ru/cond/

http://www.techport.ru/

Link to post
Share on other sites

Я думаю мой вопрос скоро будет актуален для многих магазинов, размещающих рекламу в гугле и яндексе, гугл уже требует, яндекс с его зверской политикой тоже может скоро ввести это требование...

 

Может кто-нибудь свежей мыслью подскажет, как решить этот вопрос?

Прикрепляю свои файлы - корневой htaccess и api/config.php

 

 

файлы.rar

Link to post
Share on other sites

У Вас сейчас прописано

RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} !^/payment [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Судя по Вашим постам, это работает.  Если так, то пробуйте использовать вместо этого аналогичный код, учитывающий адреса корзины:

RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} !^/(payment|cart) [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

И всегда в запасе есть переадресация средствами PHP, там уж точно реализуемы все капризы и хотелки, в том числе всевозможные "частично".

Link to post
Share on other sites

У Вас сейчас прописано

RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} !^/payment [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

Судя по Вашим постам, это работает.  Если так, то пробуйте использовать вместо этого аналогичный код, учитывающий адреса корзины:

RewriteCond %{HTTP:X-HTTPS} 1 [NC]
RewriteCond %{REQUEST_URI} !^/(payment|cart) [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

И всегда в запасе есть переадресация средствами PHP, там уж точно реализуемы все капризы и хотелки, в том числе всевозможные "частично".

 

В том то и дело, что работает прописанный редирект не совсем корректно, т.е. он только перебрасывает с https на http.

Ваш код попробовал в htaccess, не перебрасывает на https, а если в адрес вручную добавить https то перебрасывает на 

http://onlineclimate.ru/index.php?module=CartView

Про перенаправление средствами php почитаю, может соображу что-нибудь

Edited by simpler
Link to post
Share on other sites
  • 3 years later...

не подскажете есть такая проблема: в категории все ок показывает замочек https, заходишь в товар пишет "подключение к сайту защищено не полностью" мол злоумышленники могут изменять изображения, которые вам видны, и изменять их в целях мошенничества" но если кликнуть на фотку то она с замочком.

Link to post
Share on other sites

не подскажете есть такая проблема: в категории все ок показывает замочек https, заходишь в товар пишет "подключение к сайту защищено не полностью" мол злоумышленники могут изменять изображения, которые вам видны, и изменять их в целях мошенничества" но если кликнуть на фотку то она с замочком.

 

 

смотрите в отладчике может на этой странице изображение или скрипты грузятся по http

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...