今日の発見。その2

Read More

PHPです


その2)
redirectをした時、レスポンスコードに301を指定すると、
モバイルでは"サイトが移動しました"のメッセージが出る



はい、知りませんでした
# 必ずどの機種も出ると言うわけではないと思う


今までPCではそんなの意識することなく301でやっていました

・301は永続的なURLのリダイレクト
・302は一時的なURLのリダイレクト

ということは知識として知ってはいたのですが、
具体的にどういう影響があるのか知りませんでした
#SEO的にどうこうというのは知ってたけど


移動する度にメッセージが出られたらうざいし、
ユーザに余計な不安をあおってしまうので、
とにかく出ないようにしないと(汗


対応策:
301ではなく302のレスポンスコードを指定する
はい、解決


指定するってカンタンに省略しましたが、
phpのheader()を使ってのことね


ま、書いときマス
<?php
function redirect($url, $suffix=null) {
  header("HTTP/1.1 302 Moved Temporarily");
  header("Location: {$url}{$suffix}");
  exit();
}// end function
?>

ってのをプログラム上で呼び出すとリダイレクトします
リダイレクトには色々な実装の仕方があるので、
上の例はあくまで一つの方法ですがね


なお、phpではheader()でlocationヘッダを送信すると
自動で302を付与する仕様となっています