我的MVC项目使用默认位置(/ Content /...)
所以这段代码在哪里:
<div id="header"style="background-image: url('/Content/images/header_.jpg')">
解析为 www.myDomain.com/content/images/header_.jpg
我正在将我的图像文件移动到S3,所以现在他们从“http://images.myDomain.com”解析了。我是否必须将项目中的所有链接转换为该绝对路径?
可能有一个IIS7x属性可以帮助吗?
编辑:问题似乎归结为使用IIS的重写模块的具体细节。我到目前为止看到的示例显示了如何操作URI的下端和查询字符串。我需要重新映射URI的域名结尾:
http://www.myDomain.com/content/images/header_.jpg 需要成为: http://images.myDomain.com/header_.jpg
THX
答案 0 :(得分:1)
我不确定我是否理解正确。你的意思是
如何在渲染时透明地将http://www.myDomain.com/Content/myImage.png等图片网址重写为http://images.myDomain.com/Content/myImage.png?
或者
如何从S3透明地提供http://images.myDomain.com/Content/myImage.png等图像?
有一个DNS技巧可以回答第二个问题。
创建'images.myDomain.com'存储桶,并将您的内容放在'/ Content /'路径下。由于S3将桶作为域自身公开,您现在可以使用
获取内容http://images.myDomain.com.s3.amazonaws.com/Content/myImage.png
然后,您可以在自己的DNS提供商中创建CNAME记录,将'images.myDomain.com'改为'images.myDomain.com.s3.amazonaws.com'
这使您可以链接到图像
http://images.myDomain.com/Content/myImage.png
..然后让他们从S3服务(您可能还会考虑完整的CDN,例如云前端。)