Wordpress跨域问题

时间:2014-10-19 11:38:16

标签: wordpress cross-domain

我遇到..Cross-Origin Resource Sharing policy: The 'Access-Control-Allow-Origin' header..

的问题

该网站使用WPML插件针对3种不同语言在3个不同的域上运行。例如对...的引用样式表URL指向1个URL(主域),这意味着其中2个站点正在请求信息跨域,这导致不加载字体。

我希望通过从样式表网址中删除协议和域来解决这个问题,以便它指向一个“亲戚”。文件的路径(例如/wp-content/themes/salient/style.css?ver=4.8.1

有没有办法在Wordpress中改变它?它不仅仅适用于样式表,它可以用于Wordpress引用的所有文件。

1 个答案:

答案 0 :(得分: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