cascading error_page?
Igor Sysoev
is at rambler-co.ru
Fri Oct 26 18:08:51 MSD 2007
On Fri, Oct 26, 2007 at 04:03:35PM +0200, Jodok Batlogg wrote:
> is it possible to create "cascading" error pages?
>
> files are beeing requested like http://static.lovelybooks.de/covers/
> 9780/002/154/123/116x116.jpg
>
> if the file is not beeing found under /covers/ (all dirs are
> numeric) i'd like to look if the file is under /covers/btol/...
> if it's not there under /covers/knv
> and finally under /covers/lastone
> if a file is not beeing found under /lastone i'd like to return a
> default image based on the requested size (3 possible sizes)
>
> it seems like it's not possible to change the error page multiple times.
> is it also possible to set a non-404 header? even if the result is
> beeing forwarded after an 404 error?
recursive_error_pages on|off;
You may set them in some location or per server.
> thanks
>
> jodok
>
>
> here's my try:
>
> location /covers/(0|1|2|3|4|5|6|7|8|9])* {
> autoindex on;
> expires 1w;
> root /var/www/static.lovelybooks.de/covers;
> rewrite ^/covers(.*)$ $1;
> error_page 404 /covers/btol$uri;
> }
>
> location /covers/btol {
> root /var/www/static.lovelybooks.de/covers/btol;
> rewrite ^/covers/btol(.*)$ $1;
> error_page 404 /covers/knv$uri;
+ recursive_error_pages on;
> }
>
> location /covers/knv {
> root /var/www/static.lovelybooks.de/covers/btol;
> rewrite ^/covers/knv(.*)$ $1;
> error_page 404 /covers/lastone$uri;
+ recursive_error_pages on;
> }
>
> location /covers/lastone {
> root /var/www/static.lovelybooks.de/covers;
> rewrite ^/covers/lastone(.*)$ $1;
+ recursive_error_pages on;
>
> location ~ /42x42\.jpg$ {
> error_page 404 /error/covers/42x42.jpg;
> }
> location ~ /116x116\.jpg$ {
> error_page 404 /error/covers/116x116.jpg;
> }
> location ~ /170x170\.jpg$ {
> error_page 404 /error/covers/170x170.jpg;
> }
> }
>
> --
> "Readability counts."
> -- The Zen of Python, by Tim Peters
>
> Jodok Batlogg, Lovely Systems
> Schmelzh?tterstra?e 26a, 6850 Dornbirn, Austria
> phone: +43 5572 908060, fax: +43 5572 908060-77
>
>
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list