2016-10-26 7 views
1

Ich habe eine Anwendung, die ich dienen will und es funktioniert gut, bis jemand eine tiefe Verbindung zugreifen will, und sie bekommen einen 404.angular 2, Zugriff auf Deep Links beim Erstellen und Servieren von App mit http-Server?

Wenn Winkel-cli Befehl ausführen ng serve ich kein Problem mit Deep-Links haben.
Aber ich kann angular-cli Befehle nicht außerhalb meiner lokalen Umgebung verwenden.

Jedoch, wenn ich ng build dann http-server ./dist (server) laufen kann ich die URL zugreifen localhost:8080 und meine Login-Seite erscheint.

ich versuche, eine tiefe Verbindung zugreifen localhost:8080/page Ich bin ein

404. zurückgegeben

jemand in der Lage sein würde, wie man beraten, dies zu lösen?

Antwort

1

Ich bin mir nicht sicher, wie diese spezielle http-server behandelt die HTML5-Routing. Die Oldschool-Server wie nginx können jedoch so konfiguriert werden, dass sie URLs wie gewünscht bedienen.

Es ist auch erwähnenswert, müssen Sie die base-href Element set up properly in Ihrem index.html haben.


ZB. im Falle von nginx gibt es an option genannt try_files. Es versucht alle angegebenen Optionen zu lösen, bis es erfolgreich ist.

Angular 2's HTML5-Routen können aufgelöst werden mit: try_files $uri$args $uri$args/ index.html;.

Verwandte Themen