Angular2 apache重写

Angular2 apache rewriting

我正在使用 Angular2 构建 Web 移动应用程序,当我构建我的项目并在本地 运行 时,一切正常,但当我将其推送到我们的生产系统时我遇到了问题,我认为这是关于 Apache 重写的!

我的 url 在本地 http://127.0.0.1/ 我的 url 未生产 http://domain.tld/mobile/

当我的应用程序投入生产时,它不会加载任何 link,例如 css 或 js ...所以我的应用程序无法运行!

我的 .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>

因此,为了解决我的问题,我想我需要编辑我的 htaccess,但我怎么能告诉它使用 /mobile 和/但如果我只放 /mobile,我的应用程序将无法在本地运行..

所以如果你有什么想法?

谢谢:)

您可以尝试将您的本地开发更改为从名为 mobile 的子文件夹提供服务,并将您的项目放在那里。您需要将 index.html 中的 base href 标签更改为:

<base href="/">

另一种选择是仅更改生产版本 index.html 内的基本 href。

如果您使用的是 angular-cli,它可以选择在构建过程中编辑 base href

ng build --base-href=mobile