Basenname funktioniert nicht richtig

9

Ich versuche, einen Basisnamen mit react-router zu verwenden, wie dokumentiert auf den React-Router-Dokumenten . Dies ist darauf zurückzuführen, dass base href veraltet ist.

Hier ist was ich jetzt habe:

%Vor%

Wenn ich zu http://the-url.com/subdirectory gehe, wird die Seite wie erwartet geladen (Rendering der App -Komponente). Wenn ich jedoch zu http://the-url.com/subdirectory/next gehe, erhalte ich einen 404-Fehler. Meine nginx-Konfig ist:

%Vor%     
aaron 17.06.2016, 17:46
quelle

2 Antworten

2

Ich habe es gelöst mit:

%Vor%

Ich denke, das Problem waren verschiedene Versionen des Pakets history . [email protected] verwendet [email protected] , während history bereits bei 4.5.1 ist. Stellen Sie also sicher, dass Sie die richtige Version des history -Pakets installiert haben.

    
mauvm 15.02.2017 12:03
quelle
0

So habe ich es geschafft, es zum Laufen zu bringen

Setzen Sie den Router-Basisnamen wie folgt auf Ihr Unterverzeichnis

<Router basename="/subdirectory">

Wenn Sie create-react-app verwenden und mit npm run build erstellen, müssen Sie die Startseite in package.json setzen, damit die Pfade im Produktions-Build korrekt sind.

homepage: "{http://www.the-url.com/subdirectory}"

Nehmen wir für die Nginx-Konfiguration an, dass Ihre index.html unter /path/to/subdirectory/index.html liegt. Dann sollte folgendes funktionieren:

%Vor%     
Per Thoresson 21.03.2018 21:07
quelle

Tags und Links