Tag Archives: redirect

referer 유지하며 페이지 리다이렉트

페이지 리다이렉트(포워딩)하는 방법이 여러가지 있지만, 대부분의 경우 워래 referer가 사라집니다.

javascript의 href.location 할당 방법, meta tag를 이용한 포워딩 방법, PHP에서 header(“Location: url”) 등 모두 referer가 유지되지 않죠.

HTTP 응답으로 301 Moved Permanently 코드를 사용하면, 원래 referer가 리다이렉트된
페이지에서 잡힙니다.

웹서버에서 특정 페이지에 대해 설정할수도 있지만, PHP에서 아래와 같이 header를 추가한 다음에 Location: 을 설정하면 됩니다.

[CODE type=php]
<?
  header (‘HTTP/1.1 301 Moved Permanently’);
  header (‘Location: newurl’);
?>
[/CODE]

referer는 아래처럼 출력해볼수 있습니다.

[code type=php]
<?
  echo($_SERVER[‘HTTP_REFERER’]);
?>
[/code]