我正在用角度6创建ng build --prod,并将其部署到Apache服务器。 构建工作正常,但是当iam刷新页面时,它显示“未找到”。 还要在我的根文件夹中创建.htaccess文件...
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
RewriteRule ^ /index.html
答案 0 :(得分:1)
可能的原因之一可能是您正在子目录中进行部署。
更改此行
RewriteRule ^ /index.html
到
RewriteRule ^ /subDirectoryName/index.html
希望这会有所帮助。
答案 1 :(得分:-2)
您应该阅读说明如何部署Angular应用程序的文档:Angular deployment。
路由的应用必须回退到index.html
Angular应用程序非常适合通过简单的静态广告投放 HTML服务器。您不需要服务器端引擎即可动态 撰写应用程序页面,因为Angular会在 客户端。
如果应用使用Angular路由器,则必须将服务器配置为 询问文件时返回应用程序的宿主页(index.html) 它没有。
路由的应用程序应支持“深层链接”。深层链接是一个URL 指定应用程序内部组件的路径。例如, mysite.com/heroes/42是指向英雄详细信息页面的深入链接 显示ID为42的英雄。
当用户从导航栏中导航到该URL时没有问题。 正在运行的客户端。 Angular路由器解释URL并路由到 该页面和英雄。
有一些配置多个Web服务器的示例。