2012年5月21日月曜日

Codeigniterでさくらレンタルサーバーでのリダイレクト

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

ローカルではリダイレクトがうまくいくのに
さくらレンタルサーバーではうまくいかないことがあったのでメモ。

redirectメソッドがうまくいかないことがありました。
redirect('article/index');→リダイレクトされない

原因として
①リダイレクトの前に何か出力するものがあると駄目らしい。

wellcome_controller
public function hello(){
echo "hello";
redirect('welcome/hoge');
}

public function hoge(){
echo "hoge";
}

にして、 helloにアクセス

エラー 
A PHP Error was encountered
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/webcafe/www/redirecttest/application/controllers/welcome.php:29)
Filename: helpers/url_helper.php
Line Number: 546


②独自ライブラリをautoloadするときにタグを正しく閉じないと駄目らしい
ライブラリの最後にタグを閉じるところ
}
?>(この辺に空白があった?)

これを削除して以下のようにした。(見た目は変わりませんが)
}
?>

最後に限り?>はなくてもいいみたいですが、空白があると駄目みたいです。
このときはエラーがほとんどでず、redirectもされないのではまりました。

0 件のコメント:

コメントを投稿