【问题标题】:How to move Joomla's configuration.php file above the root folder in a web host?如何将 Joomla 的 configuration.php 文件移动到网络主机的根文件夹上方?
【发布时间】:2014-08-17 12:29:16
【问题描述】:

我在我的Joomla网站安装了一个安全解决方案,建议把configuration.php文件放在Public_html文件夹上面,怎么可能?

如何让 CMS 识别新位置?

该解决方案在所有版本的 Joomla CMS 中都有效吗? ,如果不是,那么请 写:

第一个:Joomla 2.5 解决方案。

第二个:Joomla 3 解决方案。

【问题讨论】:

    标签: php joomla content-management-system


    【解决方案1】:

    您需要修改 includes 文件夹中的 defines.php 文件。

    特别是这一行:

    define('JPATH_CONFIGURATION', JPATH_ROOT);
    

    并将JPATH_ROOT 更改为正确的路径。

    但问题在于您正在修改核心文件,因此如果更新更改了 define.php 文件,它将覆盖您的更改并破坏您的设置。您需要重新编辑该文件。

    JPATH_CONFIGURATION 常量也可用于 CMS 中没有专门尝试获取 configuration.php 文件的其他内容,因此请确保在执行此操作之前检查它不会对 cms 的其他部分产生不利影响生产。

    或者,您可以直接更改 frameworks.php 文件(也在包含文件夹中)以更改从何处加载配置

    ob_start();
    require_once JPATH_CONFIGURATION . '/configuration.php';
    ob_end_clean();
    

    只需将 require_once 行更改为正确的路径即可。

    再次,因为这是一个核心文件,它可以通过更新进行更改。但是如果配置文件手动加载到组件或cms的其他部分,这也可能会影响其他部分。

    【讨论】:

      【解决方案2】:

      简单的回答是不要这样做。这意味着您必须按照@Patrick 所建议的正确和工作,但这意味着编辑核心 Joomla 文件。这不是一个好主意,因为在您的情况下,如果您更新 Joomla,您将不得不每次都执行此更改并且您忘记了(这很可能),您的网站将完全停止工作。

      我强烈建议您找到一个不同的“安全解决方案”,它不需要修改任何核心 Joomla 文件。

      如果您可以定义“安全解决方案”的含义,那么也许可以为您提供替代方案

      【讨论】:

      • 实际上是 RSFirewall 建议执行此操作。
      【解决方案3】:

      我没有挖掘“自从实施以来”,但它可以在不改变核心的情况下完成。

      Joomla 在根目录中查找defines.php,如果存在,则查找imports it并且如果它发现定义了一个名为_JDEFINES 的常量,它不会加载原始文件,有效地覆盖它。

      所以,如果您希望覆盖定义,它非常简单,您所要做的就是从 webroot/includes/ 路径下复制 defines.php 文件的内容并将其粘贴到我们在 @987654329 中创建的文件中@。您可以根据自己的喜好更改以下常量。

      define('JPATH_CONFIGURATION', JPATH_ROOT."/my/supersecret/directory"); 
      

      现在还有另一件事要做,然后我们就可以开始了:)

      您必须将以下行添加到我们覆盖文件的顶部(webroot 中的 defines.php)。

      define('JPATH_BASE', __DIR__);
      define('_JDEFINES', 1);
      

      此常量向框架传达定义已被覆盖并相应地使用新文件(上次我检查时,此标志/常量在整个框架的大约 10 个不同位置进行检查,例如@987654322 @,所以很重要)

      根据您在问题中的要求,我还看到 Joomla v2.5.0v3.8.8 提供了此功能。

      编辑:请记住,如果您想要管理面板工作,您也必须对管理员文件夹重复相同的过程,并记住管理员有自己的/includes/defines.php

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-30
        • 2019-01-15
        • 2021-03-05
        • 2018-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多