Angular2 Routing / Deep Linking funktioniert nicht mit Apache 404

Ich folge den Routing-Beispielen für Angular 2. Mit dem "lite" Webserver kann ich vom Root aus navigieren und Deep Linking funktioniert, aber mit Apache kann ich vom Root aus navigieren, aber 404 Not Found-Fehler erhalten, wenn ich Links direkt zu Routen folge.

Zum Beispiel funktioniert die folgende URL gegen den "lite" Webserver, der auf Port 3000 um npm gestartet wurde.

http://localhost:3000/crisis-center/2

Aber die nächste URL für Apache, die auf Port 80 ausgeführt wird, schlägt fehl.

http://localhost/crisis-center/2
The requested URL /crisis-center/2 was not found on this server.

Ich habe ein paar .htaccess-Lösungen ausprobiert, die für ähnliche Angular 1-Probleme empfohlen wurden, aber kein Glück. Wenn jemand Angular 2-Routing und Deep-Linking-Arbeiten mit Apache hatte, lass mich bitte wissen, wie du das erreicht hast.

@RouteConfig([
{ // Crisis Center child route
path: '/crisis-center/...',
name: 'CrisisCenter',
component: CrisisCenterComponent,
useAsDefault: true
},

{path: '/heroes',   name: 'Heroes',     component: HeroListComponent},
{path: '/hero/:id', name: 'HeroDetail', component: HeroDetailComponent},
{path: '/disaster', name: 'Asteroid', redirectTo: ['CrisisCenter',  'CrisisDetail', {id:3}]}
])

Boot.ts

import {bootstrap}        from 'angular2/platform/browser';
import {ROUTER_PROVIDERS} from 'angular2/router';
import {AppComponent}     from './app.component';
bootstrap(AppComponent, [ROUTER_PROVIDERS]);

Antworten auf die Frage(12)

Ihre Antwort auf die Frage