【发布时间】:2026-02-24 00:00:01
【问题描述】:
我正在尝试使用 PHP 在 WordPress HTTP 站点上加载脚本。该脚本本身位于另一个站点上,并且只能通过 HTTPS 访问。我正在使用以下行加载脚本:
wp_enqueue_script('airtable_embed', 'https://static.airtable.com/js/embed/airtable_embed.js');
但是,当页面加载时,url 中的 https 总是被 http 替换,并且脚本 not 通过 HTTP 可用 - 只有 HTTPS。由于找不到HTTP版本,所以报错:
http://static.airtable.com/js/embed/airtable_embed.js?ver=4.3.1
Failed to load resource: the server responded with a status of 403 (Forbidden)
WordPress 文档说
可以使用与协议无关的 URL 指定远程脚本,例如//otherdomain.com/js/their-script.js.
所以,我认为协议从 HTTPS 更改为 HTTP 的原因是 WordPress 强制它使用与当前站点相同的协议。如何解决这个问题并将 HTTPS 脚本包含在我的 HTTP 站点中?
【问题讨论】:
-
他们不希望您在 HTTP 站点上包含 HTTPS 脚本是有原因的。有很多事情不能在 HTTP 上做,而你可以在 HTTPS 上做,因为 HTTP 不安全。
-
只是一个小点,你没有使用 与协议无关的 URL 你引用了
https:那是特定于协议的
标签: php wordpress security ssl https