Angular 角度8-URL使用routerLink加载,但不';在本地主机的浏览器中直接访问时不显示

Angular 角度8-URL使用routerLink加载,但不';在本地主机的浏览器中直接访问时不显示,angular,angular-routing,angular-routerlink,routelink,Angular,Angular Routing,Angular Routerlink,Routelink,我已经开发了Angular 8应用程序,我正在使用routerLink导航组件,这些组件工作正常,没有任何问题,但是当我直接在浏览器中输入相同的URL时,它不会显示任何内容,在控制台中,我看到的错误如下所示 例如,我打开主页,并在此处添加了routerLink,我将能够成功查看,但如果我直接在ULR中输入URL,则不会显示任何内容 我已经处理了app-routing.model.ts const routes: Routes = [ { path: 'home', co

我已经开发了Angular 8应用程序,我正在使用routerLink导航组件,这些组件工作正常,没有任何问题,但是当我直接在浏览器中输入相同的URL时,它不会显示任何内容,在控制台中,我看到的错误如下所示

例如,我打开主页,并在此处添加了routerLink,我将能够成功查看,但如果我直接在ULR中输入URL,则不会显示任何内容

我已经处理了app-routing.model.ts

const routes: Routes =
    [
        { path: 'home', component: HomeComponent },
        { path: 'about', component: AboutComponent },
        { path: '**', redirectTo: '/home', pathMatch: 'full' }
    ];
    @NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule]
})
我有header.component.ts来处理导航栏,所以我添加了
在header.component.html中 然后我在app.component.ts中包含了header.component.ts的选择器


  • 在服务器上,我们可以使用哈希策略进行路由


    在路由文件中,只需将
    RouterModule.forRoot(路由)
    替换为
    RouterModule.forRoot(路由,{useHash:true})
    对于apache服务器,您可以添加.htaccess文件

    重新编写引擎打开
    #如果请求了现有资产或目录,请按原样转到该资产或目录
    RewriteCond%{DOCUMENT_ROOT}%{REQUEST_URI}-f[或]
    重写cond%{DOCUMENT\u ROOT}%{REQUEST\u URI}-d
    重写规则^-[L]
    #如果请求的资源不存在,请使用index.html
    
    RewriteRule^/index.html
    这可能有点奇怪,但是我在一个cssclass=“class class2”

    中有一个尾随空格,你能分享一下你的AppComponent的模板吗?你好,@WillAlexander我已经详细更新了这个问题,因为它有点解释性,谢谢!!我看到的错误是加载资源失败:当我直接访问URL时,控制台中的服务器响应状态为404(未找到)
    。您是否尝试重新启动开发服务器?您是否修改了
    base href
    ?你有没有试过把你的
    路由器插座
    放在AppComponent模板中,这样会更有意义?是的,我试过把路由器插座放在app.component中,还有``放在index.html文件中,还是一样的问题简单、有效的解决方案谢谢你,在谷歌上搜索了很多次后,它解决了我的问题。