Haben die nur index.html
physische Seite, die das mehrere Komponenten als virtuell diejenigen mit den Routings einrichten wie dies dient:Angular 2 - Wie man eine Seite aktualisierbar macht?
{path: 'cat/:name', component: CatComponent}
So kann ich von ihm dem Namen Zugriff auf die Katze leicht routingLink="/cat/tom"
verwenden. Wenn ich jedoch die Seite aktualisiere oder den Link manuell in die Adressleiste des Browsers http://localhost:8080/cat/tom
eintippe, erhalte ich den Fehler 404 not found
.
Ich weiß, es ist ein häufiges Problem und Angular doc sagt:
In diesem Modus URL-Rewriting auf Serverseite erfordert, im Grunde Sie haben alle Links zum Eintrittspunkt der Anwendung neu zu schreiben (zB Index .html)
Aber es scheint nicht so einfach zu sein, wo habe ich die URL neu geschrieben? Ich erwarte, dass durch die Aktualisierung der /cat/tom
ich die gleiche Seite und nicht die Root-Seite bekomme.
haben eine andere Art und Weise versucht, durch HashLocationStrategy
statt Standard HTML5
und schrieb die urls auf die besonderen Ressourcen nginx
wie /#/cat/tom
verwenden, da sie von geraden Weg leicht zu erreichen sind, aber es ist eine andere scheitern - that's why.
Wie können Eckseiten aktualisiert werden? Ist nginx
ein Spieler dort?
Angenommen, Sie haben auch eine ähnliche Route zu diesem '{path: '', Komponente: MainComponent}', können Sie 'http: // localhost: 8080 /' erneut laden? – KTCO
@KT., Yeah, die Wurzel wird immer ohne Proxies wie 'nginx' geladen, aber es wäre seltsam, wenn es nicht wäre. Aber alle anderen Pfade beantworten '404' bei jeder Auffrischung oder Anfrage – WildDev
Ich habe nicht genug Reputation, um auf Serverfault zu antworten, aber meine nginx-Standortkonfiguration ist einfach:' location/{proxy_pass http: // upstreamname; } '. Außerdem verwende ich nicht die 'root' Einstellung in der Nginx Server Konfiguration. Ich benutze Angular2 und Seiten sind aktualisierbar. – KTCO