Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

express4でリダイレクトする

express4でリダイレクトするには、レスポンスオブジェクトのredirectメソッドを使います。

実際のところ

外部ページに飛ばす。

外部のページに飛ばしたいだけなら、URLを指定するだけ。

res.redirect('https://duckduckgo.com/');                                         

パスの遷移について

同一サイト内の遷移は若干クセがあります。
例えば、http://example.com/admin/post/newというパスから任意のパスにリダイレクトさせたい場合

res.redirect('/admin');

だと、http://example.com/adminに移動します。
一方、

res.redirect('..');

だと、http://example.com/blog/admin/postに遷移します。
先頭のバックスラッシュなしという記法もあるみたいですが、
可視性悪い上に訳が分からない挙動をするので避けたほうが無難です。

backとやると、前の画面に

backとやると、リファラの情報を元に前の画面に遷移します。
適切なページがない場合、'/'にリダイレクトされます。

res.redirect('back');