我在s3上主持一个角度2的应用程序。我在s3存储桶上使用重定向规则,如answer中所定义。
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>yourdomainname.com</HostName>
<ReplaceKeyPrefixWith>#!/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
我的角度应用程序然后使用html5路由来匹配重定向规则:
在app.module.ts中:
RouterModule.forRoot(appRoutes, { useHash: true })
此组合效果很好,但在网站的资源文件夹中显示图像除外。这是在我的导航栏中:
<img src="./assets/logo.png" id="group-ed-logo" />
我正在使用angular-cli,它在angular-cli.json中有以下内容:
"assets": [
"assets",
"assets/logo.png",
"favicon.ico",
"logo.png"
],
编辑:我已将logo.png添加到上面,并将logo.png文件放在src文件的根目录下,然后使用:
<img src="logo.png" id="group-ed-logo" />
然后显示徽标。将图像放在资源文件夹中会更整洁。但是,使用html 5路由时,angular-cli当前可能不支持文件夹中的资产。
如果文件位于assets目录中,那么我找不到404 url:“http://www.myurl.com/#/assets/logo.png”。
答案 0 :(得分:0)
对于文件夹,在“创建文件夹”栏中,然后将文件添加到该存储桶中。
此外,如果您拖放整个dist文件夹,您可能正在查看AWS UI上dist文件夹的内部,而没有意识到您在dist文件夹中。仅复制dist文件夹的内容,而不是dist文件夹。 - 这件事发生在我身上。