{"title":"Plack::Builder+Plack::Middleware::Static\u3067 Plack::App::Directory\u307f\u305f\u3044\u306a\u4e8b\u3092\u3084\u3063\u3066\u307f\u308b\u3002 ","categories":["Perl"],"height":"190","version":"1.0","provider_url":"https://hatena.blog","published":"2011-11-23 09:32:05","author_name":"okamuuu","blog_url":"https://okamuuu.hatenadiary.org/","blog_title":"Perl\u65e5\u8a8c","description":"\u305d\u3093\u306a\u308f\u3051\u3067\u3068\u308a\u3068\u3081\u3082\u306a\u3044\u8a18\u4e8b\u3067\u3059\u3002 \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210 \u3053\u3093\u306a\u611f\u3058 static.psgi root/ root/index.html root/xxx.html root/hoge/index.html root/hoge/xxx.html psgi % cat static.psgi use Plack::Builder;builder { enable \"Plack::Middleware::Static\", path => sub { s!(.*/$)!${1}/index.html! or return qr{^/.+} }, root => './root/'; }; \u7d50\u679c htt\u2026","author_url":"https://blog.hatena.ne.jp/okamuuu/","width":"100%","url":"https://okamuuu.hatenadiary.org/entry/20111123/1322008325","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fokamuuu.hatenadiary.org%2Fentry%2F20111123%2F1322008325\" title=\"Plack::Builder+Plack::Middleware::Static\u3067 Plack::App::Directory\u307f\u305f\u3044\u306a\u4e8b\u3092\u3084\u3063\u3066\u307f\u308b\u3002  - Perl\u65e5\u8a8c\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","type":"rich","image_url":null,"provider_name":"Hatena Blog"}