我们正在从Hiawatha网络服务器迁移到Lighty。
我想使此传输尽可能透明而不对FCGI应用程序进行任何更改。

在Hiawatha中,我们在UrlToolKit块中有一条配置行

匹配^ / load_app UseFastCGI app_loader

这意味着,如果请求URL是/load_app/index.html或/ load_app / appOne或/load_app/appTwo/index.html或以/ load_app开头的任何内容都将传递到app_loader FCGI应用程序。
与此类似,我们有许多由不同FCGI应用程序处理的请求URL。
如何在Lighty上完成此操作?

配置

“/ load_app /” =>(((“host” =>“127.0.0.1”,“port” => 2020,“check-local”
=>“禁用”)),

仅处理/load_app/index.html,但不处理/load_app/appTwo/index.html或/load_app/js/validate.js

我想使网络服务器的更改尽可能透明,因此任何轻巧的配置都不能更改SCRIPT_NAME,REQUEST_URI或QUERY_STRING。
更改这些变量将破坏FCGI应用程序。

最佳答案

现在来不晚了,但这行得通吗?

$HTTP["url"] =~ "/load_app/.*" {
    fastcgi.server = (
                       "/" =>
                         (
                           (
                             "host" => "127.0.0.1",
                             "port" => 2345,
                             "check-local" => "disable"
                           )
                         )
                     )
}

应该与/ load_app /开头的任何内容匹配。

关于regex - 从Hiawatha移出时的FCGI和URL问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15258797/

10-12 17:45