header関数で別ページへリダイレクト処理

header関数のLocationを使ってURLを指定することで、指定したURLへ遷移することができます。header関数はhtmlを出力する前に実行する必要があります。

header('Location: リダイレクト先のURL');

WordPressで同一サイト内の別ページへリダイレクトする場合は以下のように記述します。

<?php
  define('HOME_URL', home_url()); //ホームURL
  header('Location: '.HOME_URL.'/document/download/');
  exit();
?>

リダイレクト後はexit();で処理を終了させます。exit();するとそれ以上ページ内のコードは実行されません。

なおheader関数のLocationによる転送は、HTTPステータスコード302(一時的なリダイレクト)になります。HTTPステータスコード301(永続的なリダイレクト)を使用する場合は以下のように記述します。

header('Location: リダイレクト先のURL', true, 301);

注意点として、header関数のLocationの前に何かを表示する記述があると、エラーが発生してリダイレクト処理が実行できません。

<?php
  echo 'test';
  header('Location: https://www.google.com');
  exit();
?>
タイトルとURLをコピーしました