2

我的网站有一部分(高流量)完全是静态的。所有站点的 URL 都是相对的,所以现在只要我将浏览器指向http://gj232j2j213.cloudfront.net/blah.

我想在 Cloudfont(或其他一些 CDN)上托管整个东西(不仅仅是图像和 css,还有 HTML)。

理想情况下,我可以这样说:

GET    /static/    staticDir:http://gj232j2j213.cloudfront.net/blah

在我的路线文件中。这样我的 URL 看起来像www.mydomain.com/static/main.html,当用户在我的静态和非静态 URL 之间来回移动时,我不必将用户反弹到不同的子域。

有任何想法吗?我被误导了吗?

4

2 回答 2

4

我在我的conf/routes文件中使用了以下内容来执行此操作:

# Map static resources from the /app/public folder to the /public path
#{if play.Play.mode.isDev()}
    GET     /public/                        staticDir:public
#{/}
#{else}
    GET     d2iu8jbjgczc8x.cloudfront.net/public  staticDir:public
    GET     /public/                              staticDir:public
#{/}

然后,您只需以正常方式引用静态资产,URL 将使用 CloudFront 服务器(在 Prod 模式下)。

于 2012-05-10T13:35:14.627 回答
3

永远无法让它在 Play 2.x 中工作。

GET     /public/      staticDir:public

对我有用的是这样的。

GET  /somefile.html   controllers.Assets.at(path="/public", file="somefile.html")
于 2012-07-10T11:40:15.827 回答