Я пытаюсь проверить, https enabled
на сервере, но он никогда не переходит в if, а в оператор else.
if ($_SERVER['HTTPS'] == "yes") {
echo "HTTPS";
} else {
echo "HTTP";
}
Что я делаю не так?
Он должен читать "on"
, а не "yes"
if ($_SERVER['HTTPS'] == "on") {
echo "HTTPS";
} else {
echo "HTTP";
}
Я бы откликнул сервер [https]. В зависимости от сервера он может быть "включен" не "да".
Согласно http://php.net/manual/en/reserved.variables.server.php
"HTTPS" Установите для непустого значения, если скрипт был запрошен через протокол HTTPS.
Но это также добавляет:
Note: Note that when using ISAPI with IIS, the value will be off if the request was not made through the HTTPS protocol.
Итак, я бы использовал другую логику:
<code>
if ( empty( $_SERVER['HTTPS'] ) ) {
echo 'http:';
}
else if ( $_SERVER['HTTPS'] == 'off' ) {
echo 'http:';
}
else {
echo 'https:';
}
</code>
Таким образом, это не имеет значения, если он включен или "да". Тем не менее, у меня нет среды для проверки этого на случай https. http работает в моем случае.