Редирект с http на https (Apache, Nginx)

Чтобы правильно настроить редирект с http на https много ума не надо. Казалось бы, указал нужное правило — и все работает. Но не тут то было. Хостингов множество и у каждого работают свои особо умные сисадмины, которые часто вообще не понимают что просты вебмастерам для счастья от них надо. Поэтому сервера настраивает каждый сисадмин по своему.

Сайты на Apache или Nginx+Apache

На мой взгляд, самый простой способ настроить редирект с http на https — внести в .htaccess следующие правила:

  1. Для нормальных хостингов, где все настроено и работает нормально (например, beget.com):

Тоесть тут все просто, переадресовываем всех кто пришел не по https на аналогчиную страницу, но уже с https.

2. Для неадекватных хостингов, где все немного иначе, такое часто на связке nginx с apache (например, чудо-лоукост www.online.net)

У них бывает не настроена в конфиге nginx передача информации в апач о протоколе. А .htaccess обрабатывает апач и предыдущий вариант не работает, поэтому тут нужен такой код редиректа в .htaccess:

Обычному смертному, конечно удобнее править .htaccess, но он может не обрабатываться, про это дальше.

А что, если NGINX без Apache?

Бывает, что хостинг работает на nginx без apache. И тут вообще вебмастера впадают в ступор, так как .htaccess у них вообще не обрабатывается и редирект не срабатывает.

Для них надо править конфиг nginx, в секции server дописать редирект, по подобию:

Если одна и та же секция отвечает и за http и https, то примерно так:

 

Когда нет доступа к исправлению .htaccess или конфигов NGINX

Бывает и такое. Вот пример из интернета для редиректа с http на https для WordPress. Этот код надо вставить в файл functions.php (редактирование темы):

Может вариант не сработать, если сервер на NGINX. От настроек хостера зависит.

Но смысл в том, что при проявлении фантазии, можно и на php сделать редирект.

Если ни один из способов настройки редиректов с http на https вам не подошел, но вы нашли другое решение, то прошу поделиться им в комментариях ниже.  Это поможет всем.

1 комментарий

  1. За последний пункт — спасибо. Действительно помогло, хотя и инкостыляция)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *