Joomla管理员重定向到安装界面

5

我有一个Joomla 2.5网站,无法再访问管理员面板。它只会重定向到/installation/index.php页面,该页面(应该)会显示404错误。我认为这是升级后发生的。

我尝试清除浏览器缓存,如此处所建议:Joomla 1.0, administrator link redirect to "installation/index.php", how to prevent this redirection?

但是那没起作用。

很久以前,在1.x时代,Joomla网站上有一些安全建议,其中建议将configuration.php文件移动到public_html目录之外,我也遵循了这个建议。现在我找不到这些建议了,但我尝试将configuration.php文件复制到Joomla根目录,并保留在defines.php中定义的目录(define('JPATH_CONFIGURATION')。

有什么想法吗?

我的扩展

bash-3.2$ find plugins/ -type d
plugins/
plugins/authentication
plugins/authentication/gmail
plugins/authentication/joomla
plugins/authentication/ldap
plugins/captcha
plugins/captcha/recaptcha
plugins/content
plugins/content/emailcloak
plugins/content/finder
plugins/content/geshi
plugins/content/geshi/geshi
plugins/content/geshi/geshi/geshi
plugins/content/joomla
plugins/content/loadmodule
plugins/content/pagebreak
plugins/content/pagenavigation
plugins/content/vote
plugins/editors-xtd
plugins/editors-xtd/article
plugins/editors-xtd/image
plugins/editors-xtd/pagebreak
plugins/editors-xtd/readmore
plugins/editors
plugins/editors/codemirror
plugins/editors/none
plugins/editors/tinymce
plugins/extension
plugins/extension/joomla
plugins/finder
plugins/finder/categories
plugins/finder/contacts
plugins/finder/content
plugins/finder/newsfeeds
plugins/finder/weblinks
plugins/quickicon
plugins/quickicon/extensionupdate
plugins/quickicon/joomlaupdate
plugins/search
plugins/search/categories
plugins/search/contacts
plugins/search/content
plugins/search/newsfeeds
plugins/search/weblinks
plugins/system
plugins/system/cache
plugins/system/debug
plugins/system/highlight
plugins/system/languagecode
plugins/system/languagecode/language
plugins/system/languagecode/language/en-GB
plugins/system/languagefilter
plugins/system/log
plugins/system/logout
plugins/system/p3p
plugins/system/redirect
plugins/system/remember
plugins/system/sef
plugins/user
plugins/user/contactcreator
plugins/user/joomla
plugins/user/profile
plugins/user/profile/fields
plugins/user/profile/profiles

您最近安装了任何扩展程序或编辑了Joomla核心文件吗? - Lodder
尴尬的事实是,我并没有太关注这个网站。所以我不记得它停止工作时我做了什么。 - Niclas Nilsson
我也尝试过将新版本(2.5.x)解压到旧版本(2.5.x)上。因此,核心文件应该没有被改动。 - Niclas Nilsson
你更新到了最新版本吗? 如果你现在解压完整的下载包,你会得到安装文件夹,需要将其删除。 这是一个从1.5迁移的网站吗? - Elin
这是一个从1.5迁移的网站,是的。我已经删除了安装目录。我已经升级到最新版本。 - Niclas Nilsson
显示剩余2条评论
6个回答

2
尝试这个方法,如果不行就转到下一个点。 1. 改变这个。
if (file_exists(JPATH_INSTALLATION.'/index.php')) {
   header('Location: '.substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], 'index.php')).'installation/index.php');

转化为这样:

if (file_exists(JPATH_INSTALLATION.'/index.php')) {
header('Location: '.substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'],   'index.php')).JPATH_INSTALLATION.'/index.php');

这是在administrator/includes/framework.php文件的第25-26行。

2. 删除该文件中的23-32行 - 它检查安装文件夹和配置文件大小,如果您没有安装文件夹且配置文件正确,则可以删除此行。

3. 在configuration.php中将变量$sef$sef_rewrite设置为零。


事实证明问题出在“administrator/defines.php”文件中。但是多亏了您的解决方案,我能够在日志中捕获错误。我不知道为什么之前没有发现这个问题 :-/ - Niclas Nilsson
问题出在哪里?我只是想给你管理员权限,我确信插件不可能是问题的原因。 - JTC
很久以前 Joomla 网站上有一个安全建议,现在已经被移除了,建议是将 configuration.php 移出 public_html 目录。我相信我所做的只是改变 JPATH/defines.php 中的 JPATH_CONFIGURATION 变量。但是事实证明,那时候还有一个文件 JPATH/administrator/defines.php 也进行了更改。当我的服务提供商将我迁移到新服务器上时,我之前(并且愚蠢地)硬编码的路径发生了更改。他们(或者是我,记不清楚了)修复了第一个 defines.php,但我没有意识到管理员目录中还有另一个文件。 - Niclas Nilsson
我对所有的php文件进行了grep,以查找包含旧路径的文件。通过这种方式,我找到了问题所在。简而言之,愚蠢是无法弥补的。 - Niclas Nilsson

1
我认为插件不会导致重定向到安装文件夹。最有可能的情况是系统认为尚未安装,这很可能是由于缺少configuration.php文件在Joomla期望它在的位置引起的。
您可以尝试将以下内容添加到defines.php的末尾:
var_dump(file_exists(JPATH_CONFIGURATION.DS.'configuration.php'));

如果输出为true - 这意味着配置文件存在,问题不在它里面。 然后我会将.htaccess重命名为htaccess.txt,以确保它没有影响。 如果这样做不起作用,您还可以查找public_html文件夹中的index.php文件,并确保未对其进行更改。 我很确定配置文件不在其位置,这应该解决您的问题。如果不能解决,请回复我,我会继续帮助您。

你的扩展列表只显示了扩展类型的文件夹,这并不实用。请尝试列出这些文件夹内部的扩展。 - ZurabWeb
哦,我真傻,我更新了我的问题。我会尽力在今天晚些时候试着测试您的建议。谢谢。 - Niclas Nilsson

1

诊断情况

也许你应该从诊断插件开始?通过将它们全部移除,逐个添加以查看哪一个会导致问题。由于最近更新,某个插件可能会导致此问题,因为它已过时,并在软件和扩展之间创建冲突。

问题可能是基于找不到配置文件,因此Joomla认为您尚未安装该软件。

你做了所有这些吗?

  • 删除安装文件夹
  • 检查是否.htaccess引起问题
  • 尝试降级和升级?

你的意思是说通过删除插件目录来卸载插件是可能的,还是你在暗示什么?我不认为htaccess会导致问题,据我所知,应该是压缩文件内部的文件出了问题。我可以执行差异检查以验证这一点。 - Niclas Nilsson
在扩展管理器中禁用它们。但不包括核心扩展。 - Elin

1

尝试以下步骤:

  • 删除Joomla安装文件目录:c:/host/project path/your site/installation
  • 检查服务器并重新启动
  • 确保所需服务在服务器上可用
  • 尝试安装新的Joomla软件包http://www.joomla.org/download.html

谢谢


0

在我看来,你需要在安装完成后删除 /installation 文件夹。否则,如果它找到了这个文件夹,你会被重定向到那里。


0

出于安全考虑,在安装完成后,Joomla不允许您在删除安装文件夹之前重定向到站点前端或后端。请确保删除Joomla /installation 文件夹,并且如果已经删除,请尽可能重新启动服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接