『サイトが移動しました』を出さない方法
サイトにアクセスがあったとき、ページを自動的に移動させる方法として3xx系のレスポンスを返す方法があります。
301 Moved Permanently 302 Found(Moved Temporary)
301は、『サイトは永久に移動しましたよ』という意味です。
302は、『サイトは一時的に移動しましたよ』という意味です。
この場合、Docomo端末では301だと、『サイトが移動しました(301)』のメッセージが出ます。
メッセージを出さずに、自動的にリダイレクトさせるには302のレスポンスを使用します。
301と302のサーチエンジン(検索エンジン)の挙動
Yahoo! Inc.のガイドラインでは次のようになります。
| レスポンスコード | リダイレクト元 | リダイレクト先 | インデックス登録されるURL |
|---|---|---|---|
| 301 | example.com | 別ドメイン example.net | リダイレクト先 example.net |
| 302 | example.com | 別ドメイン example.net | リダイレクト先 example.net |
| 301 | ドメイントップレベル example.com | 同一ドメインの下層ページ example.com/hoge.html | リダイレクト元 example.com |
| 301 | ドメイン下層ページ example.com/hoge.html | 同一ドメインの下層ページ example.com/foo.html | リダイレクト先 example.com/foo.html |
| 302 | ドメイン下層ページ example.com/hoge.html | 同一ドメインの下層ページ example.com/foo.html | リダイレクト元 example.com/hoge.html |
metaタグでのページ遷移(メタリフレッシュ)は、『200 OK』のレスポンスですが、検索エンジンの判断は、 即時にリダイレクトするように設定している場合は301、リダイレクト開始まで一定の時間を設定している場合は302として扱われます。
<meta http-equiv="refresh" content="0;url=http://example.com/">
一般的に、リダイレクト時間が0または1の時は301 Moved Permanentlyとして扱われ、2以上の時は302 Found (Moved Temporarily)と判断されると言われています。
PHPでの記述
301レスポンス
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: 【遷移先URL】");
exit();
?>
302レスポンス
<?php
header("HTTP/1.1 302 Found(Moved Temporary)");
header("Location: 【遷移先URL】");
exit();
?>
スポンサーリンク
関連記事
- PHP
- Geeklog(ギークログ)
- Symfony(シンフォニー)
- Mantisのメール文字化け
- OsCommerce
- ユーザーエージェントからのキャリア、世代判別
- Cactiのインストール RRDToolを利用したサーバ監視ツール
- Zend Serverとは
- CakePHP、Symfony、Zend Frameworkの比較
- SSL通信かどうか
- stdClassクラスとは
- php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolutionの対応
- ファイルダウンロード時のファイル名が文字化けする対処法
- str関数、preg関数、ereg関数の速度比較
- VGA端末用に出力画像を拡大縮小する方法
- create_functionでメソッドを使用する方法
- OpenPNE
- SQL Buddy ブラウザベースのMySQL管理ツール
- Windows版PHPにPEARをインストールする
- Movable Type
- VGA端末の画像表示対応
- Softbankで絵文字を表示させる
- failed: No space left on device
- 『このインターネットのサイトを開くことができません。』と出て、ファイルをダウンロードできない
- 携帯電話端末の判別ライブラリ Net_UserAgent_Mobile
- $_SERVER['PHP_SELF']は危険?
- Fatal error: Call to undefined function imagecreatefromjpeg() の対処法
スポンサーリンク






