Ich habe einige Routen definiert. Hier ist ein Ausschnitt:Angular 2 App bereitgestellt und wirft eine 404, wenn ich gehe zu mydomain.com/search
const appRoutes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'search',
component: SearchComponent
}
]
Meine App jetzt bereitgestellt wurde, aber ich bin nicht in der Lage zu einer direkten Weg zu gehen wie mydomain.com/search
, weil ich mit einem 404. Allerdings behandelt werde, kann ich zu mydomain.com/
gehen und klicken Sie auf eine Link zu /search
von der Homepage. Das funktioniert gut.
Ich benutze Apache. Wie kann ich dieses 404-Problem beheben, sodass ich zu mydomain.com/search
gehen kann und es funktioniert, indem es mir die Suchseite zeigt?
Ich weiß, es gibt eine Möglichkeit, dies zu tun, Hash-Location-Strategie verwenden, aber ich bin interessiert zu wissen, wie es auf dem Apache-Server tun.
Vielen Dank!
dank Eswar. Wo aktualisiere ich die Option AllowOverride? Es gibt ein paar von ihnen in httpd – user1354934
auch mache ich AllowOverride alle, oder? Entschuldigung, ich bin neu. Danke – user1354934
Während dieser Ansatz Ihre Antwort ist, lassen Sie mich Ihr Problem erklären und wie diese Antwort es behebt. Ihr Problem ist, dass der Webserver versucht, eine Datei oder ein Verzeichnis mit diesem Namen zu finden, wenn Sie versuchen, direkt zur URL/search zu gelangen. Dies ist jedoch keine tatsächliche Datei oder ein Verzeichnis, sondern eine Angular 2-Route ein 404 Fehler (nicht gefunden). Die Lösung besteht also darin, Ihren Webserver zu machen (wenn Sie Apache verwenden, würden Sie seine Konfiguration bearbeiten, dafür ist Apache zuständig) und es anweisen, alle Anfragen in dieses Verzeichnis in den Index des Angular 2 zu schreiben Anwendung (index.html). –