[CodeIgniter2] redirect()でページを転送する
スポンサーリンク
CodeIgniterでアクセスを別のページに転送させるにはredirect()
を使う。redirect()を使う場合、あらかじめURLヘルパーをロードしておく。
$this->load->helper('url');
これでredirect()が使えるようになる。
redirect()は第1引数で指定したURLに転送してくれる。
redirect( "http://domain.com/" );
上のように書くとhttp://domain.com/に転送してくれる。
第2引数、第3引数は省略可能だが、Windowsサーバーを使っている場合と、301リダイレクトを行う場合は省略せずに指定する。
第2引数は”location”か”refresh”を指定する。”location”の方が高速だがWindowsサーバーで問題が起きる場合があるようだ。Linuxサーバーの場合は特に問題がないようなので、高速なlocationを使っておけば良いだろう。
第3引数はレスポンスコードを指定する。redirect()がデフォルトで返すHTTP Response Codeは302となっている。302は一時的な転送であり、恒久的な転送の場合は301となる。
例えば、Googleがインデックス化したページURLがhttp://domain.com/exampleで、これをhttp://domain.com/page/exampleに変更したとする。この時、単にredirect( "http://domain.com/page/example" )
というコードで転送すると、レスポンスコードが302なので検索エンジンに「これは一時的に転送しているだけですよ~」という誤ったメッセージを送ることになる。
redirect( "http://domain.com/page/example", "location", 301 )
と書くことで初めてこれが恒久的な転送であり、http://domain.com/exampleでインデックス化されたページのURLはhttp://domain.com/page/exampleに永遠に変更されましたという意味になる。
スポンサーリンク
CodeIgniterカテゴリーの投稿
- [CodeIgniter3] クエリービルダーのINSERTでエスケープを行わない
- [CodeIgniter3] CRONでコントローラーのメソッドを呼び出す
- [CodeIgniter3] さくらレンタルサーバー設置時の.htaccess
- [CodeIgniter3] ControllerとViewを作成
- [CodeIgniter3] xampp開発環境へのインストール
- [CodeIgniter2] サイトマップを作る
- [CodeIgniter2] form_open()のメソッドをGETにする
- [CodeIgniter2] 多言語化時にオートロードで任意言語ファイルを読み込む
- [CodeIgniter2] ActiveRecordクラスjoinメソッド
- [CodeIgniter2] アクティブレコードでReplace文を使う