私はangle2アプリケーションをApacheサーバー上のサブフォルダ/draft
に持っています。それは私が/ドラフトでこの.htaccess
を追加した作業得るために :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/">
私のコンポーネントや他のtypescriptですファイルは/ドラフト/アプリであります/、 と私/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);
このすべてはうまく動作しますが、WHE n私は何かが間違っている経路を追加しようとします。 ユーザーが/draft/foo
に行くと、コンポーネントFooComponentが表示されます。
しかし、ユーザが/draft/foo
に行くと、FooComponentが期待どおりに表示されますが、何らかの理由でURLが/draft/draft/draft/foo
に変更されます。
これは私の/draft/app/app.routing.js
次のとおりです。
// ...
const appRoutes: Routes = [
{
path: 'draft/foo',
component: FooComponent
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
私は私のAppModuleの輸入配列、/draft/app/app.module.ts
にルーティングのconstを追加しました:
// ...
@NgModule({
imports: [ BrowserModule, HttpModule, routing ],
declarations: [ AppComponent, FooComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
/draft/app/components/AppComponent.ts
は次のようになります。
import {Component} from '@angular/core';
@Component({
selector: 'my-app',
template: '<router-outlet></router-outlet>'
})
export class AppComponent {}
なぜ/draft/foo
は/draft/draft/draft/foo
にリダイレクトされていますか?停止するにはどうすればよいですか?