我需要为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的文件夹结构视图,而不是我的网站加载
我的配置在哪里不正确。
我是否需要以角度2配置任何其他文件。如果是这样?
答案 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