我在 app.yaml 中將正則表達式匹配為目錄名稱的嘗試不起作用:- url: /v1_.* static_dir: static/v1 expiration: "364d"雖然這個官方規(guī)范說支持正則表達式語法。有沒有辦法讓這項工作?即/v1_2014-01-29/img/logo.png應(yīng)該匹配靜態(tài)文件/static/v1/img/logo.png。瑣事我使用 Google App Engine 來提供Go 網(wǎng)絡(luò)應(yīng)用程序。我想最大限度地延長瀏覽器緩存的壽命,最大限度地減少請求數(shù)量,并仍然為我的 css/js/png 的新版本提供服務(wù),我相信revving 文件名是實現(xiàn)這一目標(biāo)的最佳實踐。此外,由于添加變量查詢字符串 ( /v1/img/logo.png?2014-01-29) 可能會導(dǎo)致代理和緩存問題,我更喜歡顯示變量目錄名稱 ( /v1_2014-01-29/img/logo.png),指向相同的底層服務(wù)器目錄。
2 回答

慕仙森
TA貢獻1827條經(jīng)驗 獲得超8個贊
在我看來,超出 url 定義匹配(從一開始就匹配)的 URL 的任何部分都附加到 static_dir。
因此,/v1_2014-01-29/img/logo.png如果文件路徑是static/v1/img/logo.png(使用 Python 嘗試),則以下處理程序應(yīng)匹配:
- url: /v1_(\d+-?)+
static_dir: static/v1

元芳怎么了
TA貢獻1798條經(jīng)驗 獲得超7個贊
在 olivierdm 的回答之后,我將我的 yaml 更改為:
- url: /v1_.*_
static_dir: static/v1
expiration: "364d"
和我要生成的 html 模板/v1_2014-01-29_/img/logo.png。
基本上,額外的任意字符下劃線_強制.*匹配2014-01-29,而不是空字符串。
現(xiàn)在每次我希望訪問者重新加載靜態(tài)文件時,我只需更改 tempating 中的日期(我不再觸摸 app.yaml)。此外,對“過時”URL 的任何意外請求仍然會成功并提供新資源。
- 2 回答
- 0 關(guān)注
- 196 瀏覽
添加回答
舉報
0/150
提交
取消