『サイトが移動しました』を出さない方法
サイトにアクセスがあったとき、ページを自動的に移動させる方法として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
- PCからデコメールを送るときの仕様
- PHPの閉じタグは書いてはいけない
- Deprecatedの修正例(POSIX)
- 携帯サイトのmailtoを端末ごとに書き換える関数
- PDO_MYSQLをインストールする方法
- 携帯サイトでのmailtoの使い方
- クラスとオブジェクト
- Fatal error: Call to undefined function imagecreatefromjpeg() の対処法
- cronを実行すると『TERM environment variable not set.』というエラーメールが飛ぶ
- PHPで複数の画像をfacebookに投稿する方法
- CakePHP、Symfony、Zend Frameworkの比較
- Excelの日付が数字になるときの対処法
- ディレクトリが存在するにもかかわらず、『No such file or directory』エラーが出る
- アンダーバーのあるドメインではセッションクッキーは使用できません
- EC-CUBE
- PEARを更新する方法
- SELECTタグで色を選択する場合のサンプル
- PHPでのfacebookアプリの認証処理(APIを使うユーザー認証)
- UTF-8からSJISで文字化け
- fsockopenでSSLサーバに接続する
- create_functionでメソッドを使用する方法
- stdClassクラスとは
- PHPでfacebook投稿時に公開範囲を指定する方法
- 数字(0〜9)のみかどうかを調べる正しい方法
- strtotimeでmonthを使用するときの注意点
- mb_send_mail、mb_encode_mimeheaderの文字化けのまとめ(半角カタカナなど)
スポンサーリンク