С перенаправлением (301) то, что я написал в заголовок http, пропало в переполнении стека

В конечной точке моего веб-сервиса я добавляю некоторую строку в заголовок ответа http, а затем она перенаправляется на другой URL-адрес в сервисе. Это перенаправление 301, и написанный мной заголовок каким-то образом удаляется, когда этот ответ 301 отправляется в браузер.

Я вызываю функцию заголовка в PHP для записи в заголовок, а затем вызываю редирект для 301 редиректа. Есть ли какой-то шаг, который я пропустил? Вот грубый поток:

header("X-my_custom_header:blahblah");
redirect($new_url);

функция перенаправления вызывает 3 функции заголовка:

header("HTTP/1.1 301 Moved Permanently");
header( "Cache-Control: no-cache");
header("Location: ".$new_url);

Новая находка:

Если я переместу новую строку добавления заголовка в функцию перенаправления (как 4-я строка в функции), то я смогу увидеть эту строку.

Заранее спасибо!

0

Решение

Перенаправление 301 запускает новый запрос от браузера. Соответственно, на сервере создается новый ответ, и у этого нового ответа нет заголовков, сгенерированных как часть ответа 301.

Если вам необходимо сохранить некоторые данные, вам нужно будет либо сохранить их в сеансе, либо передать их через параметры GET по URL-адресу 301.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]