0

我似乎无法重写为 lighttpd + fastcgi 工作。我正在运行一个 webpy 应用程序,它位于 /var/www/training/trainapp.py

/var/www 是 lighttpd 的 docroot

我的 fastcgi 配置如下所示:

# /usr/share/doc/lighttpd-doc/fastcgi.txt.gz
# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#m$

server.modules += ( "mod_fastcgi" )
server.modules   += ( "mod_rewrite" )

 fastcgi.server = ( "/trainapp.py" =>
 (( "socket" => "/tmp/fastcgi.socket",
    "bin-path" => "/var/www/training/trainapp.py",
    "max-procs" => 1,
   "bin-environment" => (
     "REAL_SCRIPT_NAME" => ""
   ),
   "check-local" => "disable"
 ))
 )

 url.rewrite-once = (
   "^/favicon.ico$" => "/static/favicon.ico",
   "^/static/(.*)$" => "/static/$1",
   "^/(.*)$" => "/trainapp.py",
 )

当我使用上面的配置文件时,一切都按预期工作,当我http://ipaddress/打开 webpy 应用程序时。但是,当我将配置文件的重写行更改为:

url.rewrite-once = (
   "^/favicon.ico$" => "/static/favicon.ico",
   "^/static/(.*)$" => "/static/$1",
   "^/flip/(.*)$" => "/trainapp.py",
 )

并转到http://ipaddress/flip/我收到一条错误消息,显示“未找到”。它不同于常规的 404 错误;lighttpd 通常以“404 - Not Found”响应,因为http://ipaddress/flip/我只看到非格式化的“未找到”消息。

以下 pastebin 显示了这两种情况的 lighttpd 日志。我无法从中找到错误的来源,似乎它们的处理方式相同,但是以 404 结尾。

http://pastebin.com/E3qzEAzD

有人知道我在这里缺少什么吗?谢谢。

4

0 回答 0