Редирект с http на https

Добрый день! подключил SSL для сайта, все сделал, а вот по http:// все равно заходит с ошибками и не перекидывает на https://, и по https:// тоже заходит, 2 в 1 получается, как решается? обычным редиректом ?

Нашел

$config['router']['redirect'] = array(
'http://*' => 'https://*',
);

но не работает

39 комментариев

0
Версия ALto?
0
последняя
0
1. Берём штатное:
$config['path']['root']['url'] = F::UrlBase() . '/';
$config['path']['root']['dir'] = ALTO_DIR . '/';
$config['path']['runtime']['dir']       = '___path.root.dir___/_run/';


2. чистим кеши, удаляем содержимое /_run и /_tmp

3. Чистим кеш браузера

4. Пробуем обратиться по https://, смотрим результат. Сайт в паблике? Есть вариант напосмотреть?
0
0
1) Явно указываем протокол HTTPS в URL сайта:
$config['path']['root']['url'] = 'https://site.com/';

2) Для ассетов задаем относительный URL:
$config['path']['runtime']['url'] = '/_run/';

Это я уже все сделал! сейчас сайт ведет себя не много не понятно, посмотрите сами http://abrahabr.ru и https://abrahabr.ru почему то доступен и по http и по https...
0
<link type="text/css" rel="stylesheet" href="https://abrahabr.ru/habr/javascripts/libs/engine/comments.js" />

косяк в шаблоне.

<img src="http://habrcdn.ru/files/d21/d88/d21d889a4abda131cd1fff22aa18d347.jpeg" width="650">

Внешняя ссылка. Вполне логично вставленная через http:// она так и останется...

В остальном порядок.
0
Про ссылку я знаю.. меня больше интересует почему происходит вот этот момент — почему то доступен и по http и по https...

когда по идее http должен перекидывать на https
0
Вы хотите выполнять редирект средствами Alto, или подойдёт более правильная настройка веб-сервера?
Отредактирован:
0
Ну я думаю тут нужно делать более правильно.. как положено )
0
Для nginx в настройках server
if ($ssl_protocol = "") {                                
  rewrite ^/(.*) https://$server_name/$1 permanent;
}


Для апача в корневом .htaccess

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}
0
Я та же пробовал..

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

Неверное перенаправление на странице

срабатывает только вот так
RewriteCond %{HTTPS} on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

и все равно оба протокола доступны...
Отредактирован:
0
срабатывает только вот так
это не срабатывает —), это масло масляное — RewriteCond — это условие для выполнения RewriteRule. В случае HTTPS редиректить на ... https://
0
Вроде получилось сделать вот таким вариантом

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https

а вот если к примеру на данной странице https://abrahabr.ru/sandbox/

нажимать — на главную — не перекидывает
Отредактирован:
0
вариант просто отключить http в веб-сервере оставив только https не рассматривался?
0
Можно и так, но не знаю как это делается. Но если я отключу, у меня не один сайт стоит.. а еще 2 штуки.. по протоколу http
Отредактирован:
0
NameBasedVirtualHost бывает только по http.
делаете два виртуальных хоста по имени для сайтов по http, а для этого сайта- делаете дефолтный по https
и никаких реврайтов нигде...
только настройку альто соблюсти правильную
0
В общем есть 2 проблемы которые я пока что заметил.

1. Редирект работает, но если нажимать на главную, то не перекидывает, вообще не реагирует
2. Если находимся на странице — 404 или как пример https://abrahabr.ru/sandbox/

по нажатию на перейти на главную не перекидывает, то же не реагирует никак, причем в хроме это, а в мозилле вроде норм..
Отредактирован:
0
очистить кеш надо, у меня все переходит, с песочницы нажимаешь на логотип, перекидывает на главную https
0
0
Там смотрел
0
У меня все переходит, хром на https, но редирект не работает,т.к. я попробовал http://www.site, он не перекинул на https
Отредактирован:
0
да вот еще нужен этот редирект http://www.abrahabr.ru/
0
Но не могу найти нужный, вариант с RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

дает ошибку 500
0
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
0
Да я так пробовал, Ошибка 500. Внутренняя ошибка сервера
0
ошибку создает веб сервер или альто?
0
веб сервер скорее всего
0
нет. так дело не пойдет. надо смотреть лог ошибок сервера и альто...
если ошибку создает альто — то вероятно что-то в конфиге криво...
0
RewriteRule (.*)
RewriteRule ^(.*)
0
разницы нет.. ((
0
ссылка с сайта при доступе по http:
https://abrahabr.ru/index/newall/

ссылка с сайта при доступе по https:
https://abrahabr.ru/posts/newall/

чтото гдето криво в конфиге...
0
AddDefaultCharset UTF-8
Options -Indexes
RewriteEngine On

# Rule for redirect from http://www.sitecom to site.com
# If you want to turn on this rule then delete symbol # in two next lines
#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#RewriteBase /
RewriteCond %{REQUEST_FILENAME} !favicon\.ico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https

RewriteRule ^(.*)$ ./index.php
# Alternative rule
#RewriteRule ^(.*)$ /index.php
0
в конфиге вот так

$config['path']['root']['url'] = 'https://abrahabr.ru/';
$config['path']['root']['dir'] = ALTO_DIR . '/';

$config['path']['runtime']['url'] = '/_run/';
$config['path']['runtime']['dir'] = ALTO_DIR . '/_run/';
0
это одна и та же ссылка, которую видно на главной странице, первая- если зайти ан сайт по http, вторая- если зайти по https

https://abrahabr.ru/index/newall/
https://abrahabr.ru/posts/newall/

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