首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Catalyst从CDN提供静态文件

问使用Catalyst从CDN提供静态文件
EN

Stack Overflow用户
提问于 2012-02-13 12:57:51
回答 2查看 450关注 0票数 1

我正在尝试从CDN而不是/static文件夹中提供所有静态文件(js、css、图像)。我开始编写自己的sub来重写图像URL:

代码语言:javascript
复制
sub uri_for_image { 
    my ( $c, $path, @args ) = @_; 
    my $uri = $c->uri_for($path, @args);

  if (MyApp->config->{use_cdn}) {
    my $cdn = MyApp->config->{cdn_location};
    $uri = $path;
    $uri =~ s/^/$cdn/si;
  } 

return $uri;
}

但后来我意识到要让所有的静态文件自动重路由需要更多的工作。如何为静态文件设置CDN url?

我正在研究配置Static::Simple,但它似乎只有本地文件位置的设置。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-13 20:13:07

您认为Catalyst实际上可以并且应该在这里为您做些什么?

我担心如果你想在应用程序之外生成你自己的链接,那么你基本上只能靠自己了- Catalyst在这里并没有什么真正能做或提供的东西来帮助你,不是吗?

或者你只是想让uri_for粉碎从/static开始的所有路径来指向你的CDN?就像你可以包装uri_for并让它做到这一点吗?

我认为你的版本(有一个单独的方法)更干净,更整洁,但如果你所有的静态内容都放到CDN上,那么给uri_for你想要的行为是合理的。

票数 1
EN

Stack Overflow用户

发布于 2018-02-17 14:16:02

2013年晚些时候,有人为此编写了Catalyst::Plugin::ExternalURI。

从概要部分:

使用Catalyst qw/ ...静态... ExternalURI;__/__-->http://static.mydomain.com‘( externaluri /#将/ => /css形式的urls转换为另一个域名{ '^/static’=> 'http://static.mydomain.com‘},... { ' match’=> ' rewrite‘}或{match’=>‘^/ =>’rewrite=>‘},);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9255798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档