如何在S3上托管的angular 4网站中隐藏基本href

时间:2018-04-30 16:48:29

标签: angular amazon-s3 amazon-cloudfront amazon-route53

我有一个以Angular 4编写的S3存储桶托管的网站。

我在Route 53上的URL指向CloudFront Distribution,它指向S3 Bucket的index.html(设置为无缓存)。

在S3存储桶中,我有每个版本示例的文件夹:

LazyLoading

在我的index.html中,我有 mywebsite.com -> v1.0.0 -> pricing.html -> index.html

这非常完美,并且可以访问正确的页面并始终获取最新版本的网站,因为index.html未缓存。

然而,这使我的网址看起来像:
<base href="/v1.0.0/">

如何隐藏&#34; /v1.0.0 /&#34;来自网址?

1 个答案:

答案 0 :(得分:1)

好的,经过几个小时试图解决这个问题,我终于明白了。以下是我为其他任何尝试这样做的人所做的事情:

进入 app.module.ts 文件并添加

import { APP_BASE_HREF } from '@angular/common';

接下来,在&#34;提供商&#34;部分添加

  providers: [
[{provide: APP_BASE_HREF, useValue: '/'}]
],

然后当您上传网站时,编辑index.html以获得版本文件夹的base_href:

<base href="/v1.0.9/">

现在它将从/v1.0.9/文件夹中提取所有文件,但不会在URL中显示该文件!