bugs: try_files & if, add_header
Aleksander
jjjx128 at mail.ru
Fri Oct 16 17:31:23 MSD 2009
Здравствуйте.
Есть пару проблем.
Первая: не совсем работает try_files.
Есть такие файлы:
% find /tmp/test -type f
/tmp/test/hot/file2.txt
/tmp/test/file1.txt
И такой конфиг:
server {
listen 99;
root /tmp/test;
location / {
try_files /hot$uri $uri =404;
}
}
На оба файла отдает нормальный ответ:
HEAD /file1.txt HTTP/1.0
HTTP/1.1 200 OK
Server: nginx/0.8.19
Date: Fri, 16 Oct 2009 13:12:21 GMT
Content-Type: text/plain
Content-Length: 6
Last-Modified: Fri, 16 Oct 2009 12:55:07 GMT
Connection: close
Accept-Ranges: bytes
HEAD /file2.txt HTTP/1.0
HTTP/1.1 200 OK
Server: nginx/0.8.19
Date: Fri, 16 Oct 2009 13:14:06 GMT
Content-Type: text/plain
Content-Length: 7
Last-Modified: Fri, 16 Oct 2009 12:55:24 GMT
Connection: close
Accept-Ranges: bytes
Но как только я добавляю в конфиг проверку с regexp'ом, try_files ломается:
server {
listen 99;
root /tmp/test;
location / {
try_files /hot$uri $uri =404;
if ($uri ~* \.txt$) {
}
}
}
Отдает 404 на второй файл, как будто директивы try_files вообще нет.
HEAD /file1.txt HTTP/1.0
HTTP/1.1 200 OK
Server: nginx/0.8.19
Date: Fri, 16 Oct 2009 13:20:32 GMT
Content-Type: text/plain
Content-Length: 6
Last-Modified: Fri, 16 Oct 2009 12:55:07 GMT
Connection: close
Accept-Ranges: bytes
HEAD /file2.txt HTTP/1.0
HTTP/1.1 404 Not Found
Server: nginx/0.8.19
Date: Fri, 16 Oct 2009 13:20:52 GMT
Content-Type: text/html
Content-Length: 169
Connection: close
И вторая проблема: add_header не работает в контексте server,
а только в location.
More information about the nginx-ru
mailing list