如何通过Catalyst Framework动态处理所有.html文件?

时间:2011-12-12 22:17:35

标签: perl catalyst template-toolkit

我想使用Catalyst来处理所有请求:html(与Template Toolkit混合使用)和通常由Catalyst处理的那些请求。我知道Catalyst :: Plugin :: Static :: Simple,但这似乎不像我所描述的那样,因为它只是静态打印文件。

作为示例,我想显示用户是否在不使用ajax或SSI的情况下登录index.html。除此之外还有许多其他案例。

对此可能有一个简单的答案......

1 个答案:

答案 0 :(得分:0)

感谢指针RET。我的解决方案变得非常简单。

在直接提供文件之前,我将nginx配置指向我的Catalyst应用程序,并在myapp.pm中将我的html文件的路径添加到TT配置。

以下是我在默认子例程中添加到Root.pm控制器的代码段的基础知识:

if($c->req->path =~ m{\.html$} || $c->req->path =~ m{\.htm$}) {
    $c->stash->{template} = $c->req->path;
    $c->detach;
}
elsif($c->req->path !~ m{[.]+}) {
    $c->stash->{template} = $c->req->path . '/index.html';
    $c->detach;

}