如何把Angular 2部署到Apache服务器

问题

我想把Angular 2应用部署到Apache服务器。已经按照网上的几篇教程部署,都不成功。服务器上安装了npm和ng。
在nutshell中,做了如下操作:
1. 完整克隆整个Angular项目到服务器上
2. 使用npm install安装依赖
3. 执行ng build –prod命令,生成了dist目录
4. 更改apache根目录到/var/www/html/dist目录
5. 启用mod_rewrite,重启apache并在dist目录添加.htaccess文件,内容如下:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
</IfModule>

不过仅是主页domain.com正常,其它页面像domain.com/login,domain.com/register等抛出了404错误。甚至是domain.com/index.html/login也是一样。
这个应用是我的本地系统使用ng serve时是正常的。这是哪里错了?

最佳答案

在/etc/apache2/sites-enabled/000-default.conf添加如下内容并重启apache

<Directory "/var/www/html/dist">
  AllowOverride All
</Directory>
标签:Apache部署 发布于:2019-10-01 05:20:58