2016-03-22 16 views

cevap

2

Yani vernik başlatmak için kullanılan dosyada birlikte bir şeyler koymak başardı ederiz:

sub vcl_recv { 
     if((req.http.Accept-Language !~ "de" || req.http.Accept-Language !~ "en") && (req.http.Accept-Language ~ "es" || req.http.Accept-Language ~ "ca" || req.http.Accept-Language ~ "eu")) 
     { 
     return(synth(301,"Moved Permanently")); 
     } 
} 

sub vcl_synth { 
     if(req.http.Accept-Language ~ "es" || req.http.Accept-Language ~ "ca" || req.http.Accept-Language ~ "eu") 
     { 
     set resp.http.Location = "http://spanish.es"; 
     return (deliver); 
} 
} 

... Bu işe görünmektedir

+0

Sizin vcl_recv içinde deyimi şu anda VE arasına içeriyorsa Herhangi bir parantez olmadan 2 VEYA ifadeleri. Bu garip davranışa neden olur. onun daha iyi sadece 'if (req.http.Accept-Dil! = "De" && req.http.Accept-Dil ~ = "tr") kullanmak için { }' bir değişken ayarlayabileceğini (Req.http.Accept-Language! = "de" && req.http.Accept-Language ~ = "en") { alt vcl_recv { alt vcl_recv alt kümesindeki yeniden yönlendirmeyi tanımlamak için kullanılabilir [ set req. http.redirectTo = "es";) "Geçici olarak taşındı" dönüş (synth (302; if (req.http.redirectTo == "es") { set resp.http.Location = "http }} alt vcl_synth { : // ispanyolca. es "; return (teslim et) }}' –