Welcome! Log In Create A New Profile

Advanced

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

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

if (-e $request_filename/.description.txt) {
autoindex_readme_path .description.txt;
}
if (-e $request_filename/.cover.jpg) {
autoindex_readme_text "<table><tbody><tr><td valign=\"top\"
style=\"padding: 0px; width: 100%;\">"; autoindex_footer_text "</td><td
style=\"padding: 0px;\" valign=\"top\" width=\"1%\"><span
class=\"postbody\"><img src=\".cover.jpg\"></span></td></tr></tbody></table>";
}

присваиваются значения для параметров только в последнем 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
На вид как и хотел, но внутренняя организация ужасно не нравится.
Subject Author Posted

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

Ck-NoSFeRaTU October 24, 2009 05:56PM

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

Maxim Dounin October 24, 2009 07:28PM

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

Ck-NoSFeRaTU October 25, 2009 01:16AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 180
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready