仅Angular Application根路径适用于Apache Web服务器

时间:2017-12-13 23:47:13

标签: angular apache amazon-ec2

我正在EC2实例上部署Angular 4应用程序。我使用ng build --prod编译了应用程序,并将dist目录的内容移动到/var/www/html。此外,我已使用sudo service httpd start启动了Web服务守护程序。网页有效,但我只能通过主页访问路线。

例如我可以:

http://my-page.com/dashboard

只有先访问

http://my-page.com

然后单击仪表板按钮。但是,我无法通过在角度开发环境(Angular CLI服务器)中导航到http://my-page.com/dachboard来直接访问应用程序的这一部分。

我想知道这是否可行,以及如何实现这一目标。我尝试解决此问题的步骤是

  1. 通过添加mod_proxy并将RewriteEnging OnProxyPass * http://my-page.com/添加到ProxyPassReverse * http://my-page.com/文件
  2. 来启用httpd.conf
  3. 尝试将AllowOverride All添加到httpd.conf文件
  4. 配置.htaccess以允许RewiteEngine。

1 个答案:

答案 0 :(得分:0)

查看描述如何在Apache上部署Angular应用程序的this article。您错过的步骤是添加:

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

.htaccess并添加

<Directory "/var/www/html">
  AllowOverride All
</Directory>

<VirtualHost *:80>文件的/etc/httpd/conf/httpd.conf部分。这应该可以解决问题。