我目前正在为一个项目学习 Angular-CLI。我成功地创建了一个带有一些路由对象的简单小项目。在使用 ng serve 的开发模式下,一切正常。我可以在浏览器中调用 localhost:port,它与路由一起工作。
成功 ng build -prod 并将所有内容从 dist 目录移动到我的服务器文件夹 (Apache24/htdocs) 后,我启动了我的服务器,主端 (mywebside) 工作正常,但是路由没有...(即本地主机/关于),而是我得到一个标准的错误页面,如下所示:
希望我能够清楚地描述我做了什么以及我的问题在哪里。我没有发布任何代码,因为我认为问题出在其他地方。
感谢您的帮助!
曼纽尔
版本:
angular CLI:Beta.8(最新)
( Apache ):2.4.20
最佳答案
好的(在 PierreDuc 的帮助下!)
你必须做两件事:
- 添加一个 .htaccess 文件:(就像没有文件名一样!)在保存 index.html 文件的文件夹中,插入此代码:
ErrorDocument 404 /index.html
- 编辑 httpd.conf:
(您在 Apache24/conf/目录中找到文件)搜索行:
<Directory "c:/Apache24/htdocs"> [...]
-> 在我的 apache 版本中,它在第 244 行
再往前几行(在几条评论之后)您应该找到这一行:
AllowOverride none
-> 在我的 apache 版本中,它在第 264 行
将这一行改为
AllowOverride ALL
就是这样,现在您的 Angular-CLI 网站应该可以在带有路由对象的生产构建中运行
希望对其他开发人员有所帮助!
感谢 PierreDuc!
曼纽尔
关于apache - Angular CLI 路由 - 不适用于(Apache-)服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38183800/