Я настроил lighttpd для работы с web.py. Теперь я хочу обработать все запросы в форме mysite.com / scripts / * через мой скрипт web.py. Вот так выглядит соответствующая часть lighttpd.conf:
fastcgi.server = ("/code.py" =>
(("socket" => "/var/tmp/lighttpd/fastcgi.socket",
"bin-path" => "/var/www/code.py",
"max-procs" => 1,
"check-local" => "disable",
))
)
url.rewrite-once = (
"^/scripts/(.*)$" => "/code.py/$1",
)
Я установил простой code.py, который печатает то, что появляется в URL. Это код:
urls = (
'(.*)', 'hello')
app = web.application(urls, globals(),True)
class hello:
def GET(self, x):
return "I have received: " + web.websafe(x)
Когда я ввожу mysite.com / code.py / test , я вижу «Я получил: / test» , что верно, но когда я ввожу mysite.com/scripts/test, я вижу "Я получил: /scripts/test".
Я ожидал, что правило перезаписи будет соответствовать тому, что следует после / scripts /, и переписать URL-адрес как /code.py/test, почему он также передает часть / scripts?