lighttpd, mod_rewrite, 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
在用fastcgi启动你的脚本之前,先设置一下
export REAL_SCRIPT_NAME=""
这样应该就能正常工作了。