首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl PSGI不自动提供静态文件。

Perl PSGI不自动提供静态文件。
EN

Stack Overflow用户
提问于 2014-08-06 09:06:40
回答 2查看 304关注 0票数 3

我正在练习Perl和PSGI/Plack。只需尝试简单的PSGI示例应用程序:

app.psgi

代码语言:javascript
复制
#!/usr/bin/perl

my $counter = 0;

my $app = sub {
    my $env = shift;
    my $path = $env->{PATH_INFO} || $env->{REQUEST_URI};
    $counter++;
    my $content = "Hellow world.\nCounter=$counter\nPath: $path\n";
    return [ 200, [ 'Content-type', 'text/plain' ], [ $content ] ]
};

然后按以下方式运行:

代码语言:javascript
复制
plackup app.psgi

如果我将浏览器指向/news/world这样的任何路径:

代码语言:javascript
复制
http://localhost:5000/new/world

这很好,我将$path变量设置为/news/world,并将处理cgi响应。

如果我指向像logo.png这样的静态文件的问题

代码语言:javascript
复制
http://localhost:5000/logo.png

我还将$path变量设置为/logo.png

问题是,为什么plackup服务器不自动提供静态映像文件logo.png。

我必须手动做这个吗?如果是这样的话,这意味着在每个请求中,我都必须首先对文件系统进行ping,检查是否是-f $path。

这意味着我正在构建一个完整的服务器处理程序,而不仅仅是我的脚本处理程序。我不明白的是。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-06 09:31:58

使用Plack::中间件::静态模块。它允许您的应用程序从根目录提供静态文件。

票数 5
EN

Stack Overflow用户

发布于 2014-09-30 20:31:32

Plack::Middleware::Static适用于静态目录。但是您可以处理。您可以尝试将GLOB标量和头application/pdf放在正文中。

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

https://stackoverflow.com/questions/25156298

复制
相关文章

相似问题

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