2015-10-07 51 views
0

我試圖將正則表達式應用於req.url的傳入請求,但是我需要測試完整路徑(我從根測量段)光油3.0.2找不到符號:'hash_data'

從閱讀清漆手冊它似乎我可以使用hash_data()inbuilt函數來做到這一點,所以我在vcl_recv中嘗試這個。

std.syslog(180, hash_data(req.url)); 

    if(req.url ~ "(?=io\/page\/)([^=]*).([^*]*)") 
    { 
     // do some regsub 
    } 

然而清漆配置的重新加載失敗......從VCC編譯

消息: 找不到符號: 'hash_data'(預計類型STRING_LIST):

任何人發現這裏的問題?

回答

0

您的req.url將包含完整路徑。如果需要,您的req.http.host將包含主機。我不知道你會認爲hash_data爲你的任務服務的目的是什麼。

您的錯誤來自未在當前上下文中定義的hash_data(在vcl_hash中的任何地方)。它的目的是添加要添加的請求的其他方面(默認爲host和url)以使緩存項唯一。例如,如果您希望自定義標頭的不同值可以給出不同的高速緩存條目。換句話說,它應該與你的問題無關。