gpt4 book ai didi

ajax - 如何更新 Wordpress ajaxurl 变量以使用 SSL?

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:54 25 4
gpt4 key购买 nike

我们运行 Wordpress 4.0/Buddypress 安装程序,自从我们切换到 SSL 后,所有 ajax 函数都无法正常工作,因为 ajaxurl 变量仍在读取“http”。

<script type="text/javascript">
/* <![CDATA[ */
var ajaxurl = 'http://website.com/wp-admin/admin-ajax.php';
/* ]]> */
</script>

此代码会自动添加到 wp_head 中,因此我们不确定如何更新它。我们只需要将 http 切换为 https 即可。

有谁知道我们如何做到这一点?

每次需要 ajax 时我们都会收到此错误: [blocked] The page at ' https://website.com/users ' 已通过 HTTPS 加载,但运行来自 ' http://website.com/wp-admin/admin-ajax.php 的不安全内容':此内容也应通过 HTTPS 加载。

最佳答案

ajaxurl 变量从 admin_url() 获取它的值函数,它会根据 is_ssl() 的结果确定是否执行 https功能。

所以,基本上,如果您在 ajaxurl 中没有获得 https,则 is_ssl() 函数无法正确检测 SSL在您的网站上。

如果您使用支持 HTTP_X_FORWARDED_PROTO(如 ELB)的负载均衡器或反向代理,请根据文档将以下内容添加到 wp-config.php:

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS'] = 'on';

如果这不起作用,请查看 the Notes section 中链接的 gist对于 is_ssl() 文档。您应该将其添加到您的插件目录中。

关于ajax - 如何更新 Wordpress ajaxurl 变量以使用 SSL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25796120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com