2012-03-07 3 views
1

Nginx를 통해 이미지가 없으면 이미지를 생성하려고 시도하지만이 간단한 문제에 문제가 있습니다. 다음 구성을 작성했습니다 (다른 변형을 시도한 결과, 이것이 마지막입니다). 그러나 여전히 작동하지 않습니다. Nginx에서 제공하는 이미지

location /img/(\d+)\.(jpg|png|gif)$ { 
     root /path/to/img_dir; 
     expires max; 
     add_header Pragma public; 
     add_header Cache-Control "public"; 
     try_files $1.$2 http://site.com/generate_img/$1.$2; 
} 

또한이 코드는 try_files의 insted 사용 :

if (!-f $document_root/$1.$2) { 
    rewrite^http://site.com/generate_img/$1.$2; 
} 

답변

2
  1. try_files 외부 리디렉션을 지원하지 않습니다. 내부 리디렉션 만 내부 위치를 사용해야합니다.

  2. 귀하의 위치는 정규식 기반 위치가 아닙니다. 따라서 캡쳐는 쓸모가 없습니다. 시도 :

    location ~* ^/img/([[:digit:]]+)\.(gif|jpe?g|png)$ { 
        try_files $1.$2 /generate_image/$1.$2; 
    } 
    

을 나는 generate_image가 같은 서버에 있으리라 믿고있어.

+0

여전히 404 페이지를 수신합니다. 간단한 HTML 페이지로 리디렉션을 설정하려고 시도했지만 변경 사항이 없습니다. 어쩌면 문서 루트 경로에 관한 문제일까요? – zona

+0

'location ~ * ^/image_dir/([[: digit :]] +) \. (jpe? g | png | gif) $ { \t 루트/경로/도메인/디렉토리; \t try_files /image_dir/$1.$2 /test.html; }' 이 (가)이 구성을 사용해봤습니다. – zona

관련 문제