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

标签 apache angular angular-cli

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

Routing when executed with ng server .

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

Missing Page Error

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

感谢您的帮助!

曼纽尔

版本:

angular CLI:Beta.8(最新)

( Apache ):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!

曼纽尔

关于apache - Angular CLI 路由 - 不适用于(Apache-)服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38183800/

相关文章:

angular - 为什么我无法获得体形 Angular

Angular 无法从 Google Chrome 上的服务器下载大于 10MB 的文件

angular - 当另一个变量更改时更新 Angular 组件中的变量

javascript - 适用于 Windows 的 Apache/XAMPP 错误地将文件视为可执行文件

django - Apache 用户对 PostgreSQL 数据库的权限

带有 Lazy-Loaded 路由的 Angular CLI HMR 热重载整个东西

angular - 没有项目支持 'extract-i18n' 目标

node.js - Angular:无法使用 ng-Command

java - Apache lucene : Sorting numbers and german umlauts

php - 在php中取消链接和权限被拒绝