我们有很多文件包含对我们网站上资源的图像/静态文件引用。当我们将这些文件移动到 S3 托管时,我正在编写一个脚本来读取我们的每个 ASP 文件,替换每个引用,以便每个引用都指向一个全局定义的变量,并将这些更改重写到文件中,这样我们就不会不必手动更新所有这些文件!
这适用于实际代码中的引用。
例如。
Response.Write "<img src=""http://www.site.com/images/image.gif"">"
变成
Response.Write "<img src=""" & s3BucketName & "/images/image.gif"">"
但是当涉及到替换这样的代码时:
<script src="/javascript/script.js">
这更困难 - 因为我们必须将 ASP 分隔符 <%= %> 放置在它周围的全局变量周围。
例如。
<script src="<%=s3BucketName%>/javascript/script.js">
因为脚本分隔符实际上会停止它们所在的页面并生成错误,这就是我发现的困难。URLencoding <%=s3BucketName%> 字符串,并写入,只是写入编码文本(ASP 无法使用),不会转换为我想要的。
任何想法都非常感激。
谢谢,亚当