2011-05-07 74 views
1

我很難搞清楚正確的配置。nginx:位置條件+ secure_link

我有一個URL - 例如

http://example.com/[md5-checksum]/[num-value-1]/[num-value-2]/[file-name] 
http://example.com/ac64392dba67d618ea6a76843c006708/123/56789/test.jpg 

我想確保的MD5校驗和鹽+ NUM價值-2匹配。因此,文件名和num-value-1應該被忽略(僅用於文件名頭),以便構建md5校驗和。

以下配置不會導致我想實現的目標。

location ~* ^/download/([a-zA-Z0-9]+)/([0-9]+)/([0-9]+)/(.*)$ { 

    secure_link $3; 
    secure_link_md5 segredo$3; 

    if ($secure_link = "") { 
     return 500; 
    } 

    set $filename $4; 
    add_header Content-Disposition "attachment; filename=$filename"; 
    rewrite ^/download/([a-zA-Z0-9]+)/([0-9]+)/([0-9]+)/(.*)$ /$2/$3 break; 

} 

我感謝任何幫助!

回答

1
secure_link $3 

應該已經

secure_link $1