1

Ich bin ein ReactJS SPA von https://github.com/facebookincubator/create-react-app erstellt mitKann nicht Seite auf Aktualisieren Zugriff aufgrund Hasbangs in einer Reaktion SPA

I S3 und Cloudfront bin mit meiner Website zu dienen. Alles funktioniert gut, bis ich die Seite neu lade - es löst einen Fehler aus (Zugriff verweigert in meinem Fall), da es ohne den Hashbang nicht möglich ist.

Hinweis: Es funktioniert gut, wenn ich die URL mit einem Hash-Bang

So im Wesentlichen geben, dies funktioniert: https://example.com/#/dashboard (Umleitungen zu https://example.com/dashboard)

Aber wenn ich die Seite aktualisiert, gibt es einen Fehler wie:

enter image description here

Wir verwenden browserHistory die Routen zu halten. Ich bin mit dem zugehörigen Code zeigt nur:

<Router history={browserHistory}> 
<Route path='/dashboard' component={Dashboardpage} /> 
</Router> 

Antwort

7

Wenn Sie https://example.com/dashboard anfordern, die erste Anforderung dh https://example.com auf dem Server vorgenommen, und es sollte die index.html zurück, die Ihre reagieren-Router enthält, die intelligent genug ist um den Pfad zu verstehen dh ohne die Hashbangs und lädt die benötigte Komponente. So müssen einige Umleitungsrouten auf Serverseite eingerichtet werden.

In Ihrem Fall, wenn Sie die https://example.com/dashboard treffen, sollte S3 und Cloudfront die Fehlercodes (d. H. 404 oder beliebige) behandeln und die Seite zu index.html umleiten, danach wird der react-Router behandeln, welche Komponente geladen werden soll.

enter image description here

enter image description here

hoffe, meine Antwort ist klar;)

Sie auch auf die Antwort hier gegebenen beziehen React-router urls don't work when refreshing or writting manually

+0

können Sie bitte Ihre Antwort bearbeiten Sie einen Screenshot anhängen der CloudFront-Konfiguration? –

+1

Bedeutet dies, dass meine APIs eine 403 verbotene Nachricht nicht zurückgeben können, wenn sie "Ajaxily" genannt wird? – Darcy

+0

Es hängt davon ab, wie Sie mit verschiedenen HTTP-Fehlercodes umgehen möchten. Sie können wie im obigen Bild gezeigt nach unten auflisten. @ Darcy –

Verwandte Themen