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>