2011-04-14 61 views
1

我主持一個使用Apache作爲代理來粘貼的Pylons應用程序,它爲我的應用程序提供服務。我試圖設置一個Rewrite Rule來強制瀏覽器更新修改後的css,js和圖像文件,這受到Chapter 10: Survive the Deep End中第10.8節後半部分的啓發。它的工作原理是寫一個視圖助手來自動包含的任何URL中的這些文件的修改時間,因此HTML可能看起來像這樣:Url使用Python粘貼重寫

<link href="/css/main.1302802028.css" media="all" rel="stylesheet" type="text/css" /> 

然後,使用重寫規則來獲取服務器轉發請求/css/main.css上的實際文件的位置。這樣,無論何時你更新你的文件,客戶端的瀏覽器都會認爲它正在得到一個新文件,從而忽略了它的緩存。

我試圖像這樣一個重寫規則阿帕奇內設置它在我的網站的conf文件:

RewriteEngine On 
RewriteRule ^(.*)(css|img|js)/(.+)\.(\d+)\.(css|js|jpg|gif|png)$ $1$2/$3.$5 [L] 

然而,重複寫似乎沒有發揮作用,因爲我使用Apache與ProxyPass。有沒有辦法讓他們使用代理工作,或者使用粘貼/掛鉤來實現相同的效果?

謝謝!

回答

0

我不知道你是否在Linux上運行,但你有沒有試過設置一個符號鏈接?

+0

我可以做到這一點,或者簡單地移動文件,但是我不得不在每次更新文件時更改編碼或添加符號鏈接。我所要做的是徹底解決問題,每當我改變它時,就會自動將我的uris更新爲緩存資源。 – Will 2011-06-22 11:13:53