【发布时间】:2018-09-03 20:58:53
【问题描述】:
我对这个问题束手无策。我会非常感谢一些指导。
我的单个 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'); 定义('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 的了解已经深入,但我没有想法。
【问题讨论】:
-
您是否尝试清除所有 cookie 并通过匿名窗口通过链接 /wp-admin/index.php /wp-login.php 登录?并尝试在
wp-config.php这个define('WP_SITEURL', WP_HOME . '/wp' );中提交该行,它会自动将 example.com 更改为 example.com/wp ,即重定向 wp-login.php 到 wp/wp-login.php 如果上述解决方案将没有帮助,请编辑您的消息并提供/var/log/nginx/wordpress_https_error.log和/var/log/nginx/wordpress_https_access.log寻找错误和技术。 -
您好 Nik,感谢您的回复。是的,已清除 cookie 并尝试隐身。 wordpress 安装在 var/www/html/wp 中,因此
wp_home被设置为这样。我将很快编辑带有错误日志和访问日志的消息。再次感谢! -
你的 wp-config.php 文件在哪里?在
var/www/html/wp或var/www/html中?