2017-03-15 41 views
0

我使用更新4.7.3與WordPress的WP-Touch Pro的和清漆的最新vrsion(5)光油與WordPress的wp-觸摸手機插件:移動/桌面主題開關無法正常工作

當我登錄到WordPress儀表板主題之間切換桌面主題移動和反之亦然效果不錯

但當我註銷它不工作。

清漆代碼

if (req.url ~ "\?wptouch_switch") { 
     return(pass); 
    } 

我想這wptouch開關未通過清漆通過。但在上面我VCL .still它不工作,甚至使用。

wptouch theme switch

回答

2

只以上的代碼可以確保開關URL沒有被緩存。但是,您應該瞭解,您必須分別緩存同一網址的移動版和桌面版。這意味着Varnish VCL中針對移動設備和桌面設備的哈希值不同。

您應該實現此類似this config

# The data on which the hashing will take place 
sub vcl_hash { 
    # .... 
    if (req.http.X-Device ~ "smart" || req.http.X-Device ~ "other") { 
     hash_data(req.http.X-Device); 
    } 
    # .... 
} 

當然,單獨是不夠的。您還需要複製其他相關部件,以便設置位於sub detect_device過程中的X-Device

+0

謝謝丹尼爾,其實我忘了調用它的工作原理後添加devicedetect.vcl。我還爲sub vcl_deliver添加了不同的標題,因此它會分別緩存同一網站和服務器的版本。 –

0

添加設備DETEC VCL到同一文件夾中default.vcl

在默認下面添加.vcl

sub vcl_recv { 

call devicedetect; 

if (req.http.Cookie ~ "wptouch-pro-view=desktop") 

     { 
         return(pass);  
     } 

} 

sub vcl_hash { 

    if (req.http.X-UA-Device) { 
     hash_data(req.http.X-UA-Device); 
    } 
    if (req.http.wptouch) { 
     hash_data(req.http.wptouch); 
    } 



} 



sub vcl_deliver { 


if ((req.http.X-UA-Device) && (resp.http.Vary)) { 
     set resp.http.Vary = regsub(resp.http.Vary, "X-UA-Device", "User-Agent"); 
    } 
} 
相關問題