『サイトが移動しました』を出さない方法
サイトにアクセスがあったとき、ページを自動的に移動させる方法として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
- PHPのPEARは2019年に改ざんされたことがあります
- cronのメール送信先を指定する方法(cronごとに送信先のメールアドレスを指定する方法)
- facebook APIを使用する時にfacebook Appsでアプリを登録するまでの流れ
- Zen Cart(ゼン・カート)
- mailtoの使い方
- mailto本文での改行 ドコモのN、Pで送信に失敗します
- Composerコマンドでウクライナへのメッセージが表示されたことがあります
- ファイルダウンロード時のファイル名が文字化けする対処法
- eGroupWare [バグ追跡システム]
- さくらサーバ(さくらのレンタルサーバ)でcronを使ってPHPを定時実行する
- create_functionでメソッドを使用する方法
- memcachedを使用する(memcacheライブラリ)
- [暗号化]ブロック暗号とは(AES/DES/Blowfish PKCS5Padding ECB/CBC IV)
- phpMyAdminで『information_schema』などを非表示にする方法
- OpenPNEのツッコミどころ
- php_network_getaddresses: getaddrinfo failed: Temporary failure in name resolutionの対応
- Deprecatedの修正例(POSIX)
- NetCommons(ネットコモンズ)
- ファイル操作
- OsCommerce
- PHPの閉じタグは書いてはいけない
- php.ini が見つからない時
- 携帯サイトのmailtoを端末ごとに書き換える関数
- 個体識別情報・UIDの取得方法
- PukiWiki
- ブラウザの中止ボタンを押した後も処理を実行させる方法 タイムアウト以外の停止
スポンサーリンク