Re[5]: помогите составить RegExp
От: maks__  
Дата: 17.01.18 23:45
Оценка:
S>Да, работает вот такой вариант:

S>RewriteEngine On

S>RewriteCond %{HTTP:PORT} !^443$
S>RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Попробуй эти варианты:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !(connect) [NC]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


RewriteEngine On
RewriteCond %{HTTP:PORT} !^443$
RewriteCond %{REQUEST_URI} !(connect) [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


Предварительно чисти кэш браузера.
Если не сработает, смотри логи самого апача, а не логи сайта. Примерно так: \var\log\httpd\ssl_error_log
Re[3]: помогите составить RegExp
От: salnicoff  
Дата: 18.01.18 06:35
Оценка:
Здравствуйте, sushko, Вы писали:

S>>Да, еще такая мысль: а SNI нормально работает?


S>Я не знаю, что это такое. Вику почитал на эту тему, но толком ничего не понял.


Это такой хак библиотек и протокола SSL, чтобы можно было на одном IP и порту держать несколько HTTPS-сайтов. Требует поддержки и на стороне сервера, и на стороне клиента.

По правилам, клиент стучится на 443 порт, на нем висит один HTTPS-сайт, идет обмен сертификатами-ключами — и все работает. Если делать SNI, то клиент стучится на 443 и просит дать ему нужный серт/ключ, потом клиент еще раз стучится. Фишка в том, что при такой схеме клиент сначала пытается зайти на первый сайт, описанный в конфиге Апача, и, если у него проблемы с сертом, то будут проблемы со всеми, кто на этом сервере живет. Еще при такой схеме криво настроенный сервер может по HTTP отдавать нужный сайт, а по HTTPS — тот, который стоит первым в конфиге, соответственно, Ваш .htaccess, особенно в части редиректа на HTTP, будет послан лесом.

Сервер свой или шаред хостинг? Логи и глобальные настройки Апача можете смотреть?
Re[6]: помогите составить RegExp
От: sushko Россия  
Дата: 18.01.18 07:25
Оценка:
Здравствуйте, maks__, Вы писали:

__>Попробуй эти варианты:


__>RewriteEngine On

__>RewriteCond %{HTTPS} off
__>RewriteCond %{REQUEST_URI} !(connect) [NC]
__>RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]


__>RewriteEngine On

__>RewriteCond %{HTTP:PORT} !^443$
__>RewriteCond %{REQUEST_URI} !(connect) [NC]
__>RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Второй вариант сработал. Спасибо! Тему можно закрывать.
Бесплатный генератор отчетов для программ на C/C++
http://www.oxetta.com
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.