Skip to content

Goのredirect

   

ログアウトの処理(GET /logout)実行後にトップページにリダイレクトしようとした。

http.Redirect(w, r, “/”, 301)

おや?動作しない時がある。。

301だと、ブラウザはリダイレクト先を覚えて、次からはリダイレクト先を最初から叩くっぽい。

なので、302にしてあげないと思ったような動きにならない。

ところで、Goのhttpパッケージに定義されているステータスコードhttp.StatusTemporaryRedirect307なんだけど、これはPOSTの処理のリダイレクトもPOSTで行う(元のメソッドと同じにする)ので、トップページとかGETしか定義していないところへのリダイレクトがエラーになる。

勉強になった。