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 的帮助下!)
你必须做两件事:
- 添加一个 .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!
曼纽尔
我目前正在为一个项目学习 Angular-CLI。我成功地创建了一个带有一些路由对象的简单小项目。在 ng serve 的开发模式下,一切正常。我可以在浏览器中调用 localhost:port,它与路由一起工作。
成功 ng build -prod 并将所有内容从 dist 目录移动到我的服务器文件夹 (Apache24/htdocs) 后,我启动我的服务器和主Side (mywebside) 工作正常,但是路由没有...(即 localhost/about),相反我得到一个标准的错误页面,如下所示:
希望我能够清楚地描述我做了什么以及我的问题在哪里。我没有发布任何代码,因为我认为问题出在其他地方。
感谢您的帮助!
曼纽尔
版本:
angular CLI:Beta.8(最新)
(阿帕奇):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!
曼纽尔