Имитация перенаправления 308 в nginx 1.12
Перенаправление с кодом состояния 308 (постоянное перенаправление) поддерживается в nginx только начиная с версии 1.13.
Как можно моделировать перенаправление 308, используя только средства, предлагаемые nginx 1.12?
1 ответ
Вы можете подождать nginx 1.14, который выйдет через пару месяцев.
Вы можете использовать nginx 1.13, который уже доступен.
Если вы не хотите этого делать, вам нужно каким-то образом предоставить 308 за пределами nginx. Например, в тривиальном скрипте PHP.
location = /oldurl {
rewrite ^ /308.php?location=$new_uri break;
}
Где 308.php может выглядеть так:
<?php
header("HTTP/1.1 308 Permanent Redirect");
header("Status: 308 Permanent Redirect");
header("Location: {$_GET['location']}");