Перенаправление с HTTP на HTTPS с PHP на IIS
У меня были проблемы с получением перенаправления на HTTPS для работы на сервере Windows, который работает под управлением версии 6 MS Internet Information Services (IIS) ,Я более привык работать с Apache на хосте Linux, поэтому обратился за помощью к Интернету, и это был самый высокий вопрос переполнения стека, когда я искал «php redirect http to https» .Тем не менее, выбранный ответ не работал для меня.
После некоторых проб и ошибок я обнаружил, что в IIS для $_SERVER['HTTPS']
установлено значение off
для соединений без TLS,Я думал, что следующий код должен помочь любым другим пользователям IIS, которые приходят на этот вопрос через поисковую систему.
<?php
if (! isset($_SERVER['HTTPS']) or $_SERVER['HTTPS'] == 'off' ) {
$redirect_url = "https://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
header("Location: $redirect_url");
exit();
}
?>
Редактировать : из другого ответа переполнения стека , aболее простым решением является проверка if($_SERVER["HTTPS"] != "on")
.