Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 我的路线没有';尝试刷新现有页面时无法工作_Angular_Angular7_Angular7 Router - Fatal编程技术网

Angular 我的路线没有';尝试刷新现有页面时无法工作

Angular 我的路线没有';尝试刷新现有页面时无法工作,angular,angular7,angular7-router,Angular,Angular7,Angular7 Router,我已经使用angular 7完成了布线,如果我使用菜单键沿着路径走,效果会很好。但如果我在一个页面上,并试图刷新浏览器,它会给我404错误。同样,我不能直接访问任何一个页面,我必须使用按钮进入所有页面。 我的代码示例: 这是我的路由文件的一部分 const routes: Routes = [ { path:'',component:Component1 }, { path: 'home', component: Component2 }] 我的索引的bas r

我已经使用angular 7完成了布线,如果我使用菜单键沿着路径走,效果会很好。但如果我在一个页面上,并试图刷新浏览器,它会给我404错误。同样,我不能直接访问任何一个页面,我必须使用按钮进入所有页面。 我的代码示例: 这是我的路由文件的一部分

const routes: Routes = [
  {
    path:'',component:Component1
  },
  {
    path: 'home', component: Component2
  }]
我的索引的bas ref为:

<base href="/myforms/">

我通过以下方式访问组件2:

<div class="col-sm-6">
              <a routerLink="home" router-link-Active="active" ><button class="btn btn-green">Home</button></a>              
            </div>
当我得到url:localhost:8091/myforms/home并单击按钮时,它就会打开。但如果我刷新我的页面,它会给我404


如果你知道关于这个问题的任何事情,请帮助我。提前谢谢。

请参阅。刷新后/刷新时,您的URL看起来如何?可能您需要在服务器端进行重写,因为您需要在任何请求(除了AJAX)上返回index.html,以便路由器可以在初始页面加载时检查URL配置。这是一个典型的SPA路由问题/行为。如果使用Hashbang URL/!\。。。你可以在Angular中激活它。。。。!请检查您的HTTP流量以了解问题!嘿,Okyo,谢谢你的回复。我的url看起来是一样的。当我最初打开页面时,它的localhost:8091/myforms/单击按钮后,它将更改为localhost:8091/myforms/home,主页将打开,但如果我刷新浏览器,它会给我404错误和相同的url。就像我不能直接打开我的主页,但我必须从myformsCan开始。你可以帮助我如何进行设置以允许刷新选项吗?提前谢谢@Okyoo您使用什么服务器?请重写您的请求,以便您的服务器将使用index.html响应。因为客户端向服务器发送了一个HTTP请求:get myforms/home,所以您得到了一个404!但是您的服务器不知道myforms/home路由,因为没有home.html文件。由于您的服务器不拥有此文件,它会以404页面未找到作为响应!如果基于路由器构建SPA,解决方案是重写此请求:GET/myforms/home应返回index.html。。。请从@insertusernamehere查看上面的链接