Я думаю, проблема, вероятно, в том, как вы это тестируете. Перенаправление 3xx сохраняет исходный Referer
- браузер не будет устанавливать новый Referer
на самом перенаправлении. Таким образом, если вы прямо запрашиваете .index.php
на своем сайте (без реферера), то и по перенаправленному запросу также не будет реферера.
Мета-обновление не является перенаправлением HTTP 3xx и ведет себя так, как если бы вы переходили по обычной ссылке / ссылке, поэтому браузер генерирует Referer
.
Вместо этого вам нужно будет протестировать с дополнительным файлом (например, test-referer.html
), который ссылается на index.php
, чтобы сгенерировать Referer
перед проверкой заголовка redirect / Referrer-Policy
.
<!-- test-referer.html -->
<a href="/index.php">index.php</a>
UPDATE:
Заголовок Referrer-Policy
правильно работает для меня при тестировании таким образом.
Я хочу установить реферера как www.domain.com на whatismyrefer.com
В этом случае вы не можете просто использовать перенаправления HTTP 3xx (без начального реферера), потому что перенаправления 3xx сами по себе не генерируют реферер (как упомянуто выше). Если 3xx переадресация генерирует Referer
, то сайты будут постоянно иметь проблемы с потерянными реферрерами из-за канонических перенаправлений и т. Д.
Вам нужно будет использовать мета-обновление (как вы предложили) или, возможно, JavaScript-редирект (не проверенный). Или вы могли бы использовать CURL, если намерение состоит в том, чтобы просто «подделать» Referer
- хотя это не приведет непосредственно к перенаправлению.