Пара вопросов о nginx

Ck-NoSFeRaTU nginx-forum at nginx.us
Sun Oct 25 01:56:27 MSD 2009


Хочу сделать небольшой архив файлов, но помимо индекса файлов нужны описания и
скриншоты. Никакие php-цмски не хочу юзать, perl тоже не хочется
использовать. Немного модифицировал autoindex с закосом на lighttpd и
возможностью вставлять свои куски текста в страничку. Но появились некоторые
трудности. Почему при такой конфигурации:

if (-e $request_filename/.description.txt) {
     autoindex_readme_path .description.txt;
}
if (-e $request_filename/.cover.jpg) {
     autoindex_readme_text ""; autoindex_footer_text "";  
}

присваиваются значения для параметров только в последнем if? Т.е.
autoindex_readme_path получается пустой, хотя если удалить второй if с
содержимым - всё путём. Попытался это обойти с помощью нескольких условий, типа
такого:

set $found 0;
if (-e $request_filename/.cover.jpg && -e $request_filename/.description.txt) {
     param1=x;
     param2=y;
     set $found=1;
}
if (-e $request_filename/.cover.jpg && $found = 0) {
     param1=x;
}
if (-e $request_filename/.description.txt && $found = 0) {
     param2=y;
}

Но опять же столкнулся с тем, что OR/AND похоже не поддерживаются, как и скажем
else. Планируется ли добавить такую поддержку?

Также вопрос: а как можно приравнивать параметр к переменной? Т.е.
что-то типа:
set $param "123";
autoindex_readme_text $param;

Хочется чтобы значение autoindex_readme_text получилось 123, а получается
$param :-/

Возможно кто-то писал модули, может подскажете, а как правильно, с точки зрения
всех прослоек работы с файлами, кешированием и прочим, имея путь до файла в
ngx_str_t получить содержимое файла, скажем в другой ngx_str_t? Я так понял
копать нужно в сторону ngx_open_cached_file, но что-то пока не получается.

Также видел в рассылке за 2005 год сообщения о том, что неплохо бы реализовать
переменную $request_dir, содержащую имя папки запроса, но я так понял дело
до реализации не дошло?

ЗЫ. Пока всё сделал забивая все описания в конфиг, разграничивая location`ами,
но это и не удобно и некошерно. Получилось так:
http://nosferatu.pp.ru/nginx_autoindex-nsf.png
На вид как и хотел, но внутренняя организация ужасно не нравится.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,16580,16580#msg-16580






More information about the nginx-ru mailing list