我对这个问题束手无策。我将非常感谢您提供一些指导。
我的单个wordpress网站通过预构建的Vultr.com应用程序操作系统在nginx上运行。几周以来,使用正确的凭据时,wp-admin和wp-login.php表单只是刷新而不是登录。
导航到...时
example.com/wp-admin
它重定向到...
/wp/wp-login.php?redirect_to=https%3A%2F%2Fwww.example.com%2Fwp%2Fwp-admin%2F&reauth=1
使用正确凭据登录只会刷新表单。使用不正确的凭据登录会触发不正确的密码错误,这表明站点可以正常连接到数据库。
还值得注意的是,该网站的其余部分都很好,它只是访问管理区域而已。
我尝试了很多教程,并对以下内容进行了故障排除:
1)我已打开WP调试器,但登录表单未生成任何错误。
2)该站点在启用Cloudflare的HTTPS上运行。我已禁用Cloudflare并添加了define( 'FORCE_SSL_LOGIN', false );
和
define( 'FORCE_SSL_ADMIN', false );
到wp-config.php
3)我已经禁用了所有插件。
4)我尝试禁用wp-config.php中的define('ADMIN_COOKIE_PATH', '/');
行
5)我确保wp-login和wp-admin是644个权限。
6)我确保整个文件系统都由nginx:nginx拥有,这是在快速php文件中使用<?php exec('whoami'); ?>
确定的。
7)我确保该站点的site_url和wp_home参数是最新的。 Wordpress位于/ wp的子目录中。因此,在wp-config.php中定义了以下内容;
define('WP_HOME','https://www.example.com'); define('WP_SITEURL',WP_HOME。'/ wp');
8)我已经确保上述两个字段在wp_options表中的数据库中也都匹配。
9)我直接从数据库的wp_users表中删除了session_tokens。
10)通过在开发工具上检查表单本身,我检查了表单的POST实际上指向https://www.example.com/wp/wp-login.php,而不是错误的域。
我已经修改了许多其他方法,无济于事,一遍又一遍地进行刷新...文件内容为:
wp-config.php-> https://pastebin.com/K2M93xPX
nginx.conf-> https://pastebin.com/7KxSV8a5
wordpress_https.conf-> https://pastebin.com/uYydcE7K
在此先感谢任何可能提供帮助的人。我对Nginx的了解超过了我的范围,而且我也没主意。
答案 0 :(得分:1)
现在固定!
我尝试了多种方法:
1)将/ press / www / html / wp文件夹中wordpress的整个子目录安装拉到其父目录,因此所有内容都位于nginx的根目录中。
2)将CloudFlare从Flexible SSL更改为Full(严格),然后在服务器上重新安装原始证书/密钥。
这些步骤之一或全部都已解决此问题。