apache 2中角度2应用程序的虚拟主机无法正常工作

时间:2017-07-03 08:13:42

标签: apache2 angular2-routing virtual-hosts

我需要为angular 2应用程序创建一个虚拟主机或域。

简而言之,我遵循了以下步骤:

1)为我的网站创建了虚拟主机文件(来自:https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts

2)以prod模式构建项目:ng build --prod(got dist folder)

这些是我在服务器上创建的上述教程链接中的设置文件:

等\ apache2的\站点可用\ mydomain.com.conf

ServerName mydomain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/Angular2/path_to_my_app

<Directory /var/www/html/Angular2/path_to_my_app>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride all
      Order allow,deny
      allow from all
 </Directory>

在我的Windows主机文件中添加了一个条目到我的网站来映射ip

C:\ Windows \ System32下\驱动程序\等\主机

10.*.*.*    mydomain.com

在我的服务器etc / host中添加了一个条目

等\主机

127.0.0.1   mydomain.com

在我的angular 2应用程序的src文件夹(index.html所在的位置)

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

在index.html中的相同文件夹中:

<base href="/var/www/html/Angular2/path_to_my_app">

我的package.json有:

"start": "ng serve --host mydomain.com"

创建的域似乎加载(希望假设深层链接有效),但是当我点击 mydomain.com 时,我在浏览器中获取angular2的文件夹结构视图,而不是我的网站加载

enter image description here

我的配置在哪里不正确。

我是否需要以角度2配置任何其他文件。如果是这样?

1 个答案:

答案 0 :(得分:0)

ServerName mydomain.com ServerAdmin webmaster @ localhost DocumentRoot / var / www / html / Angular2 / path_to_my_app / src

<\ n>在etc \ apache2 \ sites-available \ mydomain.com.conf中,将/ src追加到DocumentRoot