Возможно ли перехватить запрос несуществующего файла с помощью lighttpd? - PullRequest
1 голос
/ 25 января 2010

Можно ли настроить lighttpd таким образом, чтобы запрос файла выполнялся успешно, если файл существует, но обрабатывается и перенаправляется, например, в сценарий cgi, если файл не существует?

Я пытаюсь добиться того, чтобы на диске был набор файлов изображений, которые генерируются сценарием и обслуживаются напрямую. По запросу, если файл не существует, сценарий сгенерирует изображение и сохранит его на диск (для будущих запросов), а затем либо предоставит изображение напрямую, либо перенаправит обратно на тот же URL-адрес, который на этот раз будет успешным. По сути, я кеширую сгенерированный вывод на диск.

В настоящее время у меня есть прототип, в котором сценарий всегда обрабатывает запрос, читая и отображая файл, если он существует, но я бы предпочел сэкономить накладные расходы и, если возможно, использовать lighttpd напрямую.

Ответы [ 2 ]

1 голос
/ 17 марта 2010

Вы можете установить:

server.error-handler-404 

опция конфигурации для скрипта, который будет делать то, что вы хотите.

см. http://redmine.lighttpd.net/wiki/1/Server.error-handler-404Details

1 голос
/ 25 января 2010

Вы можете иметь лучшее из обоих миров. Lighttpd будет обслуживать файл, если вы дадите ему

X-Sendfile: path to file

см .: http://redmine.lighttpd.net/wiki/1/X-LIGHTTPD-send-file. На странице документации приведен пример php.

...