如何修复 Joomla(版本 > 3.6)管理员重定向回登录页面?

How to fix Joomla (version > 3.6) administrator redirecting back to login page?

登录 Joomla!管理员,用户将被重定向回登录页面。如果 username/password 有效,则没有错误消息。如果username/password无效,则错误信息大意。

在Apache访问日志中发现如下:

::1 - - [timestamp] "POST /localhost/administrator/index.php HTTP/1.1" 303 -
::1 - - [timestamp] "GET /localhost/administrator/index.php HTTP/1.1" 200 6969

这是在网站的本地副本上。 2018年8月以后就没动过,live站点也有这个问题。其他 Joomla!本地主机上的网站可以正常工作。

已检查 #__extensions table 并且所有必要的扩展都已启用。 com_logincom_usersplg_authentication_joomlaplg_authentication_cookieplg_user_joomla

摘自config.php:

public $live_site = '';
public $cookie_domain = '';
public $cookie_path = '';

PHP session.save_path 是服务器 writable.

尝试禁用搜索引擎友好 URLs 和 URL 在全局配置中重写 / configuration.php 即:

public $sef = '1';
public $sef_rewrite = '1';

尝试暂时将 .htaccess 重命名为 .htaccess.old 看看是否有任何不同。

尝试清除 Joomla 缓存、任何服务器端缓存(例如 LiteSpeed 缓存)并清除您的 Web 浏览器缓存。

您可能还需要在全局配置/configuration.php 中更新 tmp 和日志文件路径,尽管这可能不会导致您遇到的问题。

另一件事是尝试不同的 PHP 版本。

发生这种情况的原因可能是升级到更高的 PHP 版本。 在我的例子中,当我将 PHP 从 5.6 升级到 7.2 时发生了这种情况。所以我找到的唯一解决方案是降级回 PHP 5.6