无法在下一个新标签页中打开Angular Module链接[关闭]

问题描述 投票:0回答:2

我的页面有角。这是http://schoolerp.dci.in/vidyauraweb/。我们在这里有一个注册模块http://schoolerp.dci.in/vidyauraweb/registration。但是,当我尝试在新标签中打开此链接时,找不到此页面。像这样抛出错误

notfoundhttpexception

在routecollection.php第161行中

我们使用laravel + Angular开发了该站点

http://schoolerp.dci.in/是laravel的基本URL

http://schoolerp.dci.in/vidyauraweb/是Angular的基本URL

angular laravel angular-ui-router angular6
2个回答
2
投票

Angular是一个单页面应用程序,可在客户端处理路由。您将需要在服务器上添加重写规则,以将所有路由重定向到index.html页面。

发生的情况是您的服务器正在尝试查找不存在的路径http://schoolerp.dci.in/vidyauraweb/。您需要将其传递给index.html,以便angular知道要显示什么组件。

您将需要在laravel中添加一条路由,以将所有由angular处理的请求路由到index.html


1
投票

除了C_Ogoo的答案外,有时您对应用程序所在的服务器没有太多访问或控制权。

您可以使用HashLocationStrategy完全在客户端解决此问题,您的网址如下所示:http://schoolerp.dci.in/vidyauraweb/#/registration/

// imports of your AppModule
imports: [
  BrowserModule,
  FormsModule,
  RouterModule.forRoot(routes, { useHash: true }) 
],
© www.soinside.com 2019 - 2024. All rights reserved.