我一直在疯狂。我在IIS 7.5服务器上安装了Wordpress 4.6,我使用最新版本的Divi模板和构建器通过优雅的主题,但构建器将无法工作,因为我的托管服务器阻止跨源请求。 ElegantThemes的团队无法帮助我找到解决方案。
我得到的错误信息是:
阻止跨源请求:同源策略禁止在http://tigerflow.com/Tigerflow/wp-admin/admin-ajax.php读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin'。
我已通过web.config文件和IIS服务器管理器启用了标头。我的web.config现在看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Content-Type"/>
<add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS"/>
</customHeaders>
</httpProtocol>
<rewrite>
<rules>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我发现了Zehra's solution关于在global.asax中包含一些行的另一个问题,但我不知道在哪里寻找它。谁能指导我?欢迎访问网站www.tigerflow.com
编辑:Alin's response是我最接近(部分)修复我的问题...当我使用www前缀登录管理员时我遇到了CORS问题...但是直接登录似乎正确链接API,一切顺利。