我正处于这个问题的最后。我会非常感激一些指导。
我的单个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 perms。
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有着深入的了解,而且我没有想法。
现在修好了!
我尝试了一些组合:
1)将/ var / www / html / wp文件夹中wordpress的整个子目录安装拉到其父级,因此所有内容都在nginx的根目录下。
2)将CloudFlare从Flexible SSL更改为Full(严格)并在服务器上重新安装源证书/密钥。
这些步骤中的任何一个或组合都解决了这个问题。