我正在主开发机器上开发一个站点,有时我想在办公桌和Chromebook之外但仍在同一网络上的其他地方进行编码。对于其他项目,我启用了VirtualHosts插件以允许访问我正在处理的内容。我正在使用的当前名称简称为“虚拟主机”(https://chrome.google.com/webstore/detail/virtual-hosts/fbkigokjancnolojmhcgcfhgeeljolkh?hl=en)。当使用Laravel构建的项目具有相对路径时,这可以很好地工作。
我面临的问题是,当使用WP提供了通往AJAX调用之类资源的绝对路径的事实时,使用此方法与Wordpress一起玩时,在Dashboard中会收到许多CORS警告。上面的插件重写了输入到地址栏中的请求,并将其映射到IP地址。但是,在编辑页面时,出现如下错误:
Access to fetch at 'http://dev.somedomain.com/wp-
json/wp/v2/pages/2/autosaves?_locale=user' from origin '
http://192.168.0.14' has been blocked by CORS policy: Response to
preflight request doesn't pass access control check: Redirect is not
allowed for a preflight request.
这些请求未解析,CORS失败,并阻止我与仪表板正确交互。上面的错误是由于尝试保存帖子引起的。
我尝试将Header set Access-Control-Allow-Origin "*"
添加到我的.htaccess文件中,导致:
Header set Access-Control-Allow-Origin "*"
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
但错误没有改变。
服务器是在Ubuntu 16.04上运行的Apache。如果有解决方案,我也可以访问我的路由器。