Ich habe immer Probleme mit Nginx-Konfigurationen. Mein SPA befindet sich unter/mnt/q/app (Pushstatus ist aktiviert) und das Frontend-Root befindet sich unter client/public. Alles sollte auf index.html gemappt werden, wo die App die Route aufnimmt und entscheidet, was zu tun ist.Nginx Config mit Spa und Unterverzeichnis root
Der vollständige Pfad zum Index ist /mnt/q/app/client/public/index.html
.
Ich glaube, ich hatte jetzt keine Optionen mehr. Egal was ich tue, ich bekomme nur einen 404 von nginx zurück, ich denke die Konfiguration ist einfach genug und hat keine Ahnung was los ist.
server {
listen 80;
server_name app.dev;
root /mnt/q/app;
location/{
root /client/public;
try_files $uri @rewrites =404;
}
location @rewrites {
rewrite ^(.+)$ /index.html last;
}
}
Jede Hilfe wird geschätzt.
Vielen Dank für die Antwort. Ich möchte jedoch in Zukunft mehrere Standorte hinzufügen. Zum Beispiel werde ich API- und Auth-Komponenten hinzufügen, die ich unter/api und/auth haben möchte, während der Pfad unter/mnt/q/app/api/und/mnt/q/app/auth sein sollte beziehungsweise. Ich bin mir nicht sicher, ob ich das mit diesem Ansatz tun kann. Ich habe dieses Gist als "Vorlage" verwendet: https://gist.github.com/aotimme/5006831 – marekpw
Der lokale Pfad wird gebildet, indem der 'root'-Wert mit dem URI verkettet wird, also die'/api' und '/ auth 'Blöcke würden den gleichen Wert für' root' verwenden (was vom äußeren Block übernommen werden kann). Ich nehme an, dass '/ index.html' die URI für die in Ihrer Frage erwähnte Datei ist, die für 'root' einen anderen Wert benötigt. Siehe Aktualisierungen. –
Danke, es hat mein Problem gelöst. – marekpw