【PHP】リダイレクト

PHPでリダイレクトをしたいということがあると思います。

本来は「.htaccess」ファイルでリダイレクトさせるのが早いのですが、何らかの条件下でリダイレクトをしたいという時はPHPでリダイレクトをしたいと思うことがあります。

まずは、基本形

<?php
header('Location: http://www.○○○○○○.com/');
exit;
?>

これで、「http://www.○○○○○○.com/」にリダイレクトします。

注意点は、このheaderよりも前に何らかの出力があると環境によってはリダイレクトせずエラーになります。

エラーは

Warning: Cannot modify header information - headers already sent

こんな感じです。

また、Location後のURLは絶対パスで記述したほうがよいでしょう。

相対パスでも処理をするブラウザがありますが、相対パスが上手く認識できないブラウザもあるそうです。

上記の場合は302コードを返します。

もし、ステータスコードを変更したい場合は、

<?php
header("HTTP/1.1 301 Moved Permanently");
header('Location: http://www.○○○○○○.com/');
exit;
?>

とします。

501などの時も同様です。(コメント部分は変わります。)

尚、「exit;」はクローラなどでheaderを無視してそのページを読み込もうとするものもあるそうなので必ず入れましょう。

kaito

WebデザインやWebシステムを作成しています。SEO関連の話しもしていきます。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください