No.426


【AWS】CloudFrontのエラーページでURLを変更してリダイレクトさせる

CloudFrontのエラーページ…URLは変わらないのね…

 CloudFrontではエラーページ設定からエラーコードごとに表示するためのアクションを設定できる。

 この設定はクリック数回で設定できる反面、URLが変化しないという大問題があるため、たとえば「404の場合に特定のURLにリダイレクトさせる」という操作ができない。

 じゃあapacheのmod_rewriteなどでリダイレクトさせればいいと思うだろけど、「.htaccessでリダイレクトさせるとタイムアウトまで待ち続ける」という極悪仕様のため、それも行えない。(静的ページしか前提になっていない?)

 解決方法はただひとつ。表示したページ内にリダイレクトを仕込んでおくしかない。


リダイレクトさせるためのURL

 Javascriptでリダイレクトさせるとタイムラグが少なくてよさそう。

<!DOCTYPE html>
<html>
<head>
  <script type="text/JavaScript">
    location.href='リダイレクト先URL';
  </script>
</head>
<body>
</body>
</html>