아파치 서버의 하위 폴더 /draft
에 angular2 애플리케이션이 있습니다.Angular2 라우팅이 잘못된 URL로 리디렉션됩니다.
Options Indexes FollowSymLinks
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /draft/index.html [L]
그리고 머리에 /draft/index.html
이 추가 :
<base href="draft/">
내 구성 요소와 다른 타이프 파일/초안/응용 프로그램에 위해 은 내가/초안이 .htaccess
추가 작업하세요/ 내 /draft/systemjs.config.js
은 다음과 같습니다
(function (global) {
System.config({
paths: {
'npm:': '/draft/node_modules/'
},
map: {
app: '/draft/app',
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
'rxjs': 'npm:rxjs',
// ...
},
packages: {
app: {
main: './main.js',
defaultExtension: 'js'
},
rxjs: {
defaultExtension: 'js'
}
}
});
})(this);
이 모두 작동 잘하지만 어디 갔지 n 뭔가 잘못된 라우팅을 추가하려고합니다. 사용자가 /draft/foo
으로 이동하면 FooComponent 구성 요소가 표시되기를 원합니다.
그러나 사용자가 /draft/foo
으로 이동하면 FooComponent가 예상대로 표시되지만 어떤 이유로 URL이 /draft/draft/draft/foo
으로 변경됩니다.
이
은 내/draft/app/app.routing.js
:
/draft/app/components/AppComponent.ts
// ...
@NgModule({
imports: [ BrowserModule, HttpModule, routing ],
declarations: [ AppComponent, FooComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
는 다음과 같습니다 : 내 AppModule의 수입 배열에 라우팅 CONST,
/draft/app/app.module.ts
을 추가
// ...
const appRoutes: Routes = [
{
path: 'draft/foo',
component: FooComponent
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
import {Component} from '@angular/core';
@Component({
selector: 'my-app',
template: '<router-outlet></router-outlet>'
})
export class AppComponent {}
그렇다면 은 /draft/draft/draft/foo
으로 리디렉션되는 이유는 무엇입니까? 중지하려면 어떻게해야합니까?