Apache httpd刷新

我正在使用路由进行角度项目,并且在本地工作良好。当我在Apache httpd中部署相同文件时,在浏览器上从任何页面刷新时,都会出现错误“在此服务器上找不到请求的URL。”

ly13644593292 回答:Apache httpd刷新

MikeOne和Chad K的评论是正确的,这是解决此问题的一种方法。

首先,当您构建用于生产ng build --prod的应用程序时,如果该应用程序不在Web服务器的根目录中,则有时需要在base href中更改index.html不是您的问题,但是您仍然可以进行检查。

此后,假设从该URL重新加载应用程序时,您的路由将转到“ http://yourserver/page1/”,网络服务器将尝试查找名为page1的目录,该目录不存在。 建议的解决方案可以使用apache mod rewrite起作用。仅当您有权访问该服务器的配置文件或使用.htaccess文件(有时不是这种情况)时,该解决方案才有效。但是,如果您不介意这些URL有所不同,那么还有另一种更为简单的解决方案。

import的{​​{1}}中,类似以下内容:

RouterModule

您可以通过以下方式添加RouterModule.forRoot( routes )

useHash

然后使用生产标记重建项目,URL现在将像这样:

RouterModule.forRoot( routes,{ useHash: true } )

通过这种方式,由于有了哈希,该应用程序可以正常运行,而唯一需要做的就是在RouterModule上设置http://yourserver/#/page1/ 并重建您的应用程序。

本文链接:https://www.f2er.com/2889659.html

大家都在问