[英]W3 total cache plugin cdn url not working with woo theme
我目前正在嘗試使W3 Total Cache在wordpress網站上工作,並且注意到CDN url請求被發送時出現了一些相當奇怪的行為。
我正在使用cloudfront cdn並將其指向指向Cloudfront URL的CNAME(cdn.test.com)。
現在,所有不屬於主題的圖像,css和javascript都可以使用CDN CNAME url正確呈現。
example: http://cdn.test.com/wp-content/2015/01/image-150X150.jpg
http://cdn.test.com/wp-includes/base/css/style.css
http://cdn.tes.com/wp-includes/base/js/home.js
(我還可以補充一點,這也是cloudfront URL也會發生的。)但是,當涉及到woo主題的css和javascript時,它呈現如下。
http://cdn.test.com/http://example.com/wp-content/themes/test-theme/js/theme.js
http://cdn.test.com/http://example.com/wp-content/themes/test-theme/css/theme.css
我已經與主題開發人員和其他相關人員進行了交流,但是他們很少提出建議。
我已經看過各種選項,例如使用preg_replace匹配出現的怪異url並將其替換為空字符串。
但是,這不起作用,因為我可能使用/調用了參考文檔https://support.woothemes.com/hc/en-us/articles/203106877-Canvas-Hook-Filter-Reference中的錯誤的add_action或add_filter,的wordpress(我的意思是wp_head或wp_footer)。
正如您可能已經知道的那樣,我沒有Wordpress的經驗,請您幫忙解釋一下發生了什么問題或問題以及我可以解決此問題的可能方法。
謝謝你的幫助。
最后,使用以下代碼跟蹤並解決此問題:
add_filter('w3tc_cdn_url', 'fix_host_in_cdn_url',10,3);
function fix_host_in_cdn_url($content) {
$content = preg_replace("/(\/http?:\/\/[\da-z\.-])/", '', $content);
return $content;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.