Refreshin角生成在Apache服务器上显示404 Not Found错误

时间:2018-08-06 11:50:02

标签: angular

我正在用角度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  

2 个答案:

答案 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服务器的示例。