【发布时间】:2017-09-12 15:19:18
【问题描述】:
我有一个运行良好的 Angular 4 应用程序。
我一直在使用 HashLocationStrategy,但我决定不再在我的网址中使用哈希。
我的路由器设置现在看起来像这样......
export const routes: Routes = [
{
path: '',
component: TilesComponent
},
{
path: 'profile/:urlUserName',
component: ProfileComponent
},
{
path: 'forBusiness',
component: ForBusinessComponent
},
{
path: 'login',
component: LoginPageComponent
},
{
path: 'editTile/:urlUserName',
component: EditTileComponent,
canActivate: [AuthenticationService]
}
];
export const appRoutingProviders: any[] = [];
export const routing = RouterModule.forRoot(routes, { });
我有一个来自我的打开页面的链接,它是这样生成的...
routerLink="/forBusiness"
它重定向到这个页面...
https://www.tilecase.com/forBusiness
现在,如果我将此 URL 放入浏览器并尝试单独加载 forBusiness 页面,我会收到“找不到页面”错误。
我需要对我的路线或页面设置做些什么才能使其正常工作?
【问题讨论】:
-
当您切换到不同的
LocationStrategy时,无需更改 Angular 代码中的任何内容。但是,您的服务器需要支持 HTML5 pushState,并且需要进行配置。 -
一如既往的感谢。我正在使用 Netlify 进行 seo 渲染。我不确定他们是否提供。还有其他方法可以删除哈希吗?
-
不,如果服务器不支持 HTML5 pushState,那么就没有办法 AFAIK。