lighttpd,mod_rewrite,web.py

时间:2011-01-26 07:27:25

标签: python lighttpd web.py

我在lighttpd和web.py上遇到了一个小问题。它在Apache2上运行得非常好,但是在lighttpd上存在一个小问题。

这是我对web.py

的lighttpd配置
  fastcgi.server = ("/code.py" =>
    ((
      "socket" => "/tmp/fcgi.socket",
      "bin-path" => "/home/ivan/www/code.py",
      "max-procs" => 1,
      "check-local" => "disable",
    ))
  )

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

以及示例web.py,以演示我如何定义到网址。

urls = (
  '/page', 'Page',
  '/', 'Index',
)

class Index(object):
  def GET(self):
    raise web.seeother('/page')

将浏览器重定向到example.org/page网址时会出现此问题。 Apache2重定向到example.org/page,但lighttpd重定向到example.org/code.py/page。我该如何解决这个小问题?我找到了一个解决方案,所以如果我写raise web.seeother(web.ctx.homedomain+'/page')一切都很好,但我想知道它是否可以在lighttpd配置文件中解决,而不是触及web.py代码。

谢谢,

1 个答案:

答案 0 :(得分:0)

在使用fastcgi生成脚本之前,只需设置

export REAL_SCRIPT_NAME=""

这应该有效。