Я следую примеру Angular 2 маршрутизации. Используя веб-сервер "lite", я могу перемещаться из корневой и глубокой ссылок, но используя Apache, я могу перемещаться из корня, но получаю ошибки 404 Not Found при следующих ссылках на маршруты.
Например, следующий URL-адрес работает против веб-сервера "lite", запущенного на порту 3000 на npm.
http://localhost:3000/crisis-center/2
Но следующий URL-адрес против Apache, запущенного на порту 80, терпит неудачу.
http://localhost/crisis-center/2
The requested URL /crisis-center/2 was not found on this server.
Я попробовал несколько решений .htaccess, рекомендованных для подобных Angular 1 вопросов, но не повезло. Если у кого-то была Angular 2 маршрутизация и глубокая привязка работы на Apache, пожалуйста, дайте мне знать, как вы это достигли.
@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]);