2014-10-19 91 views
1

我遇到的問題與..Cross-Origin Resource Sharing policy: The 'Access-Control-Allow-Origin' header..WordPress的跨域問題

該網站上使用WPML插件3種不同的語言3個不同的域運行。對例如樣式表URL指向1個URL(主域),這意味着其中2個站點正在請求信息跨域,並且這導致字體無法加載。

我希望通過從樣式表的URL的protocal和域來解決這個問題,所以,它的指向一個「相對」路徑文件(例如/wp-content/themes/salient/style.css?ver=4.8.1

有沒有辦法來改變這種在WordPress中?不僅僅適用於樣式表,它可以適用於Wordpress引用的所有文件。

回答

2

可以允許通過添加下面一行到你的.htaccess文件從子域

加載資源從子域加載資源:從所有其他域

# Allow font, js and css to be loaded from subdomain 
SetEnvIf Origin "http(s)?://(.+\.)?(example\.com)$" ORIGIN_DOMAIN=$0 
<IfModule mod_headers.c> 
    <FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff|js|png|jpg|jpeg|gif)$"> 
     Header set Access-Control-Allow-Origin %{ORIGIN_DOMAIN}e env=ORIGIN_DOMAIN 
    </FilesMatch> 
</IfModule> 

加載資源:

# Allow font, js, and css to be loaded from subdomain 
<IfModule mod_headers.c> 
    <FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff|js|png|jpg|jpeg|gif)$"> 
     Header set Access-Control-Allow-Origin "*" 
    </FilesMatch> 
</IfModule> 

來源:http://www.webspeaks.in/2015/01/wordpress-allow-cross-domain-resources.html