Забыл в тег обернуть
if (empty($_SERVER['HTTPS'])) {
header('HTTP/1.1 301 Moved Permanently'); header("Location: https://{$_SERVER['HTTP_HOST']}/{$_SERVER['REQUEST_URI']}"); }
И получаем циклическую переадресацию, ибо $_SERVER['HTTP_HOST'] не поменяется.
как по мне так лучше, но все же лучше средствами сервера это делать.
if (empty($_SERVER['HTTPS']
{
header('HTTP/1.1 301 Moved Permanently');
header("Location: https://{$_SERVER['HTTP_HOST']}/{$_SERVER['REQUEST_URI']}");
exit();
}