🐹

Amplifyで構築したアプリに直リンクでAccessDenied

2021/11/13に公開

AmplifyでSPAを構築しているときに遭遇

http://dev.xxxx.amplifyapp.com/login のようにルート以外のURLにアクセスすると下記のようなエラーが発生

This XML file does not appear to have any style information associated with it.

Basic認証をかけているからかと思ったけど、公式ドキュメントを読んでいたら普通に書いてあった

SPAでルーティングを実装したい場合はリダイレクトを許可する設定をしないといけないらしい

手順

  1. Amplifyのコンソールのメニューから「書き換えて、リダイレクト」(和訳変w)を選択
  2. 下記のようにルールを追加して保存

| 送信元アドレス | ターゲットアドレス | 入力 | 国 |
| -------------- | ------------------ | ---- | --- | --- | --- | --- | --- | --- | ---- | ----- | --- | --- | ------------------ | ----------- | --- |
| </^[^.]+$ | \.(?!(css | gif | ico | jpg | js | png | txt | svg | woff | woff2 | ttf | map | json)$)([^.]+$)/> | /index.html | 200 |

redirect setting

結果

ルーティング先に直にアクセスできた!!

GitHubで編集を提案

Discussion