"чтобы был редирект" и "чтобы можно было зайти на главную" - противоречивые требования. Они не могут выполнятся одновременно, хоть какой код не напиши.
Нужно менять саму постановку задачи, вводить дополнительное условие. Типа "в первый раз редирект, а в остальные разы позволять заходить на главную". или "редирект только по пятницам" или "редирект с вероятностью 42%".