我有一個Rails的網絡應用程序,它具有靜態文件在動態寧靜的網址下。例如:Nginx的網址重寫寧靜的網址
/projects/1/attachments/some_file.xls
我想設置Nginx的重定向到服務器上的靜態文件:
/public/attachments/1/some_file.xls
其中1是動態的項目ID。
位置塊和重寫語句如何查找Nginx配置文件?
UPDATE
我下面標記,因爲它回答了我原來的問題的答案。雖然在我的情況下重寫我的項目附件URL是沒有必要的。我忘了我已經在我的Rails視圖erb中重映射了這個url。
我的真正目標是阻止Thin將緩存響應頭添加到我的附件文件中。最終,我可以通過添加像這樣的附件的位置來防止這種情況:
location /attachments/ {
expires off;
add_header Pragma "no-cache";
add_header Cache-Control "no-cache, no-store";
access_log off;
break;
}
呃,我其實已經忘了這些網址已經在View erb中手動重新映射了。我真正想要實現的是繞過Thin,這樣我就可以打開與緩存相關的響應頭。 – 2012-08-08 19:58:50
此外,這些附件不是圖像。他們生成了sql文件,生成了excel文件,上傳了csv文件等。我沒有使用Paperclip或attachment_fu,儘管我當時評估過它們。我只是將這些附件存儲在public/attachments /:project_id下並隱藏了用戶的這一事實。用戶可以看到url projects /:project_id/file_name。沒有模型。 – 2012-08-08 20:03:10
我提到的所有庫都可以處理任何文件類型,而不僅僅是圖像。但是,通常當我做你喜歡的事情時,我會創建一個Assets模型來封裝所有這個文件存儲邏輯。 – SupaIrish 2012-08-09 09:27:16