CDN:设置图像和JS AJAX请求的基本URL

时间:2011-02-25 11:09:22

标签: php javascript ajax cross-domain cdn

我正在将所有静态内容迁移到Amazon S3 CDN。因此,我想将图像的基本URL设置为Amazon URL,这样我就可以保持src属性相同(例如“/imgs/myImage.png”)。

这适用于图像。虽然我的JS ajax请求也以相同的方式获取(例如“/ajax/ajaxPage.php”)并尝试在亚马逊域而不是当前域中找到我的php文件。

我是否必须完全重写我的所有ajax请求网址,还是有一个聪明的方法解决这个问题?

2 个答案:

答案 0 :(得分:1)

据我所知,如果您使用base更改网页的基础,所有 relative URLs都会针对它进行解析。如果base仅限于某些类型的资源,那肯定是有用的,但我不知道。{/ p>

因此,您需要为图像使用绝对URL,或者对所有页内链接和ajax请求使用绝对URL。对于ajax请求,您可以在JavaScript中轻松执行包装函数,以添加必要的初始部分。

答案 1 :(得分:0)

您应该保持您的应用程序不变。您应该在Web服务器(Apache,nginx和其他)上添加一些重写规则。像apache这样的东西

RewriteRule ^ /(。*)。png $ http://www.somewhere.else/ $ 1.png [R,NC]

RewriteRule ^ / ajax /(.*)$ / ajax / $ 1