Имитация перенаправления 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']}");
Другие вопросы по тегам