php - 无法获取 Wordpress 的 apply_filters ('site_url' ) 以返回 https 方案

标签 php wordpress .htaccess ssl

我正在将一个 Wordpress 网站迁移到完全 https:// ,但我在登录页面上遇到问题。

登录页面本身正在加载 https://方案,但表单操作指向不安全,http://页面的版本,这导致它简单地重定向回 https://版本(我假设这是因为我的 .htaccess 正在将 http 流量重定向到其对应的 https。)

在wp-login.php中,下面的代码设置了表单 Action :

<form name="loginform" id="loginform" action="<?php echo esc_url( site_url( 'wp-login.php', 'login_post' ) ); ?>" method="post">

看起来,有问题的功能是site_url()函数,因为它返回 http://网站版本。

我查看了函数本身,函数调用是按以下顺序进行的:

site_url -> get_site_url -> set_url_scheme -> apply_filter -> *return*

通过这个调用堆栈跟踪我的方式,我注意到唯一一次方案被设置回 http://是在调用 apply_filter 函数时。

我明确设置了site_url( 'wp-login.php', 'https') ,甚至返回一个 http://方案。

我希望有人知道这里发生了什么,因为我不明白为什么 Wordpress 不允许我使用 https://为了这。它似乎在几乎所有其他地方都有效,因为我的 css 和 js 的所有相关链接都在加载 https 版本。

注意:我设置了define('FORCE_SSL_ADMIN', true);和我的 wordpress site_urlhome_url被设置为他们的 https://选项表中的版本。

最佳答案

这个问题的根源是我们的供应商留下的一个 mu-plugin,但应该被删除。无论如何,这里的教训是始终检查您的插件。

关于php - 无法获取 Wordpress 的 apply_filters ('site_url' ) 以返回 https 方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31616799/

相关文章:

php - 交响乐团 : clear cache and warmup when users are using the website

php - var_dump (object) 的结果是什么意思?

php - 删除 WordPress 中的所有评论数据

javascript - 嵌入的 YouTube 视频会降低网络速度

wordpress - 在不使用 .htaccess 的情况下重定向 Wordpress 网站上的非 www

apache - 通过 .htaccess 将 http 重定向到 https 不起作用

php - 数据库插入时的 SQL 查询错误

javascript - 限制来自 PHP 的 Javascript?

javascript - 有什么方法可以将整个表格及其内容从 URL 复制到另一个页面吗?

apache - 了解 htaccess 文件匹配代码