Angular2保持/添加尾部斜杠

时间:2016-11-28 09:00:46

标签: angular angular2-routing

我有一个问题是Angular2删除了斜杠。我已经设置了我的dotnet核心应用程序来添加它们,但是一旦js加载它们就会被删除。

甚至可以在Angular2中使用吗?

(我的客户需要它,所以不需要添加评论说;不要使用尾部斜杠)。

提前致谢。

编辑: 应该已经添加,这是使用Angular2-Universal运行,因此升级角度版本并不容易:(

2 个答案:

答案 0 :(得分:2)

我们有一个Angular网站,在我们决定迁移到Angular4 Universal之后,我们的一个问题就是在我们的网站SEO上自动删除尾随斜线效果,经过多次尝试后我们找到了一种防止这种无价值行为的hacky方式如下面的代码(在app.module.ts文件中):

import { NgModule } from '@angular/core';
import { Injectable } from '@angular/core';
import { Location } from '@angular/common';

import {AppComponent} from './app.component';


@Injectable()
export class UnstripTrailingSlashLocation extends Location {
  public static stripTrailingSlash(url: string): string {
    return url;
  }
}


Location.stripTrailingSlash = UnstripTrailingSlashLocation.stripTrailingSlash;

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [...],
  providers: [...],
  bootstrap: [AppComponent]
})
export class AppModule {
}

答案 1 :(得分:0)

我认为.Net Devs是problem faced

2.3.0-beta.1版本的角度中提交此修复程序。尝试更改角度版本并查看问题是否已修复。

fix: support trailing slash in basePath

<强>替代地

你试过这个吗?这似乎在我的机器上做了伎俩

在app.routing.ts中:

{ path: 'link/.', component: MyComponent },

超链接:

<li class="nav-item" [routerLinkActive]="['active']" [routerLinkActiveOptions]="{exact:true}">
        <a class="nav-link" [routerLink]="['/link/.']">MyComponent</a>
    </li>