Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

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');