Angular CLI 路由 - 不适用于 (Apache-) 服务器

Angular CLI routing - Doesn't work on (Apache-) Server

我目前正在为一个项目学习 Angular-CLI。我成功地创建了一个带有一些路由对象的简单小项目。在 ng serve 的开发模式下,一切正常。我可以在浏览器中调用 localhost:port,它与路由一起工作。

.

成功 ng build -prod 并将所有内容从 dist 目录移动到我的服务器文件夹 (Apache24/htdocs) 后,我启动我的服务器和主Side (mywebside) 工作正常,但是路由没有...(即 localhost/about),相反我得到一个标准的错误页面,如下所示:

希望我能够清楚地描述我做了什么以及我的问题在哪里。我没有发布任何代码,因为我认为问题出在其他地方。

感谢您的帮助!

曼纽尔

版本:

angular CLI:Beta.8(最新)

(阿帕奇):2.4.20

好的(在 PierreDuc 的帮助下!)

你必须做两件事:

  1. 添加一个 .htaccess 文件:(就像没有文件名一样!)在保存 index.html 文件的文件夹中,插入此代码:

ErrorDocument 404 /index.html

  1. 编辑 httpd.conf:

(您在 Apache24/conf/ 目录中找到文件)搜索行:

<Directory "c:/Apache24/htdocs"> [...] -> 在我的 apache 版本中它在第 244 行

再往前几行(在几条评论之后)您应该找到这一行:

AllowOverride none -> 在我的 apache 版本中它在第 264 行

将此行更改为

AllowOverride ALL

就是这样,现在您的 Angular-CLI 网站应该可以在带有路由对象的生产构建中工作

希望对其他开发者有所帮助!

感谢 PierreDuc!

曼纽尔