在lighttpd重写后获取错误的PATH_INFO
在我的 lighttpd
配置文件中,我有一个重写规则,内容是这样的:
$HTTP["host"] == "sub.example.com" {
url.rewrite = (
"^/(.*)" => "/sub/$1"
)
}
所以当用户访问 http://sub.example.com
时,其实她是在访问 http://example.com/sub
。
问题是 PATH_INFO
似乎不太对,
URL: http://sub.example.com/extra
PATH_INFO:
expected: /extra
what I get: /sub/extra
现在每当我调用 request.get_path()
时,它返回的内容像是 http://sub.example.com/sub/extra
,这并不是我想要的结果。
当然,我可以直接重写 request
类的 get_path
方法,但我想知道有没有更简单的方法,比如修改 lighttpd 的配置?
1 个回答
2
如果你想要获取已经处理过的链接地址,可以试试 REQUEST_URI
。一般来说,如果你有重写规则,那么你其实想要的是重写后的路径,否则重写就没有意义了。