わりとシンプルなはずなのにうまくいかないことはよくあります。今回のケースでは、ログインしていないユーザーが次の画面に進もうとしたときや直接URLをたたいたときにホーム(多くはindexとおもいます)に打ち返す時の話です。
一般的には以下の二つの方法がありそうです。
方法①
方法②
どちらでも基本的にはうまくいくのですが、方法①では次の画面が一瞬見えてしまいます。
そこで方法②を使えば良いのですが、それでも次の画面が見えてしまうと感じたとき・・・・「それはあなたの気のせいです」
debugmodeをfalseにしてみてください。すべて解決しています。デバッグモードのときと挙動が異なるようです。