繁体   English   中英

Apache httpd 刷新

[英]Apache httpd refresh

我正在开发一个带有路由的角度项目,它在本地运行良好。 当我在 Apache httpd 中部署相同的内容时,在从任何页面刷新浏览器时,它会给出错误“在此服务器上找不到请求的 URL”。

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

首先,当您为生产ng build --prod构建应用程序时,如果应用程序不在您的网络服务器的根目录中,有时您需要更改index.htmlbase href ,我认为这不是您的问题,但您可以检查反正它。

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

RouterModuleimport中,有如下内容:

RouterModule.forRoot( routes )

您可以通过以下方式添加useHash

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

然后使用生产标志重建您的项目,现在的 URL 将如下所示:

http://yourserver/#/page1/

这样,多亏了散列,应用程序将毫无问题地工作,唯一需要的是在useHash上设置 useHash 并重建您的应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM