我将我的angular 4应用程序上传到产品服务器上,在本地服务器上运行良好。在服务器上,我可以通过链接访问页面,但是,如果尝试直接在浏览器中写URL,则页面转到404。我可以通过.htacces解析,但它不是apache服务器,所以不能。是否只有解决问题的前端解决方案?
答案 0 :(得分:1)
Angular中使用的默认客户端路由策略是PathLocationStrategy
。
如果您要手动输入URL
,则需要将服务器配置为针对从其请求的所有不同URLs
返回相同的页面。此策略需要服务器端的一些合作。
是否有前端解决方案来解决该问题?
HashLocationStrategy使用URL的哈希片段部分存储 状态为客户端,则设置更容易,不需要任何操作 从服务器端进行合作,但不利的一面是 发布后即可与Angular Universal一起使用。
@NgModule({
imports: [
BrowserModule,
FormsModule,
RouterModule.forRoot(routes, { useHash: true }) //enable hashbang approach
],