在Apache服务器上部署angular 2 app

时间:2018-03-15 05:04:17

标签: javascript php angular

我是Angular 2的新手,刚创建了我的第一个演示角度应用程序。

允许从我想在服务器上部署它的任何地方访问它。

根据指令,我使用

创建了构建(dist)
  

ng build --prod

我的php项目的共享服务器上安装了Apache。

所以我试着上传那里。部署后,当我尝试访问该URL时,我的应用程序会中断并且控制台显示此错误:

GET http://www.example.com/styles.d41d8cd98f00b204e980.bundle.css net::ERR_ABORTED
www.example.com/:13 GET http://www.example.com/inline.7c167ae93970955c5261.bundle.js net::ERR_ABORTED
www.example.com/:13 GET http://www.example.com/polyfills.5c847b24df1f0cb11561.bundle.js net::ERR_ABORTED
www.example.com/:13 GET http://www.example.com/main.dbcfef8941682469b50c.bundle.js net::ERR_ABORTED
www.example.com/:13 GET http://www.example.com/vendor.c769f33e138d82fd4650.bundle.js net::ERR_ABORTED
www.example.com/:13 GET http://www.example.com/main.dbcfef8941682469b50c.bundle.js 404 (Not Found)

是不可能在同一台服务器上部署angular和php。

如果是,则指南非常有用。 谢谢

2 个答案:

答案 0 :(得分:1)

您是从example.com的根目录,还是从example.com/mydemo/这样的子目录中提供演示?如果来自子目录,请执行以下操作:

ng build --prod --base-href / mydemo /

答案 1 :(得分:1)

您需要添加.htaccess文件(在index.html所在的同一目录中),并包含以下内容。

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

这段代码使用了Apache的mod_rewrite模块,因此请确保启用此功能