ModX革命路径问题

时间:2015-07-22 19:11:35

标签: php linux modx-revolution

我按照所有说明在本地主机上安装ModX革命环境,它似乎安装时没有错误,但是所有指向css / js文件的链接都是无效路径。

问题是 manager / 目录包含在每个位置(有时是重复的)。从绝对路径中删除它的最佳方法是什么。

/*duplicated here */
`GET http://127.0.0.1/manager/manager/assets/ext3/resources/css/ext-all-notheme-min.css `
/*this should be not contain manager/ at all*/
`GET http://127.0.0.1/manager/connectors/layout/modx.config.js.php?action=&wctx=mgr `

1 个答案:

答案 0 :(得分:0)

在安装过程中可能出现问题,或者您可能需要修改服务器配置。要解决可能性#1,请检查MODX配置中的路径。

MODX中的路径,除了相当旧版本的软件外,都配置了4个php文件。

其中3个是config.core.php的实例,其中只包含:

<?php
    define('MODX_CORE_PATH', '/path/to/core/');
    define('MODX_CONFIG_KEY', 'config');
?>

请注意,MODX_CORE_PATH是MODX核心文件夹的绝对路径,MODX_CONFIG_KEY可以在安装过程中自定义,但'config'是默认值。

该文件的3个实例位于:

  1. 网络根目录,例如'/'
  2. 连接器文件夹,例如'/connectors/'
  3. 经理文件夹,例如'/manager/'
  4. 它们中的所有3个都应包含config.core.php的相同副本,并且其中的PHP常量必须分配有效值。核心文件夹应由执行MODX(PHP)的同一用户拥有,并且应具有0755权限(有时需要0775但不建议在共享托管环境中使用。)

    第4个配置文件是最重要的配置文件,位于MODX_CORE_PATH的子文件夹中,名为config,文件名为MODX_CONFIG_KEY . '.inc.php'。在上面的示例中,它将是:/path/to/core/config/config.inc.php

    该文件为您的MODX安装需要访问的所有文件夹定义具有绝对路径和绝对URL(相对于Web根目录)的常量。同样,也定义了Web根目录的路径和URL;分别为MODX_BASE_PATHMODX_BASE_URL

    安装程序应该已经使用正确的值填充了所有这些,但是当您遇到与路径相关的错误时,检查这些路径是一种很好的故障排除方法。

    您的服务器配置也可以在这里发挥作用。例如,如果您在子文件夹中安装了MODX,而不是本地Web服务器的根,则需要确保路径包含该文件。

    此外,如果您在MODX安装中启用了Friendly-URLs,您可能希望Apache RewriteBase或nginx等效项具有正确的值。假设您的本地Web服务器设置为:

    /Applications/MAMP/htdocs/

    并且您的MODX安装位于/Applications/MAMP/htdocs/modx-test/

    您希望MODX回复:

    http://127.0.0.1/modx-test/index.php

    您的MODX_BASE_PATH/Applications/MAMP/htdocs/modx-test/

    您的MODX_BASE_URL/modx-test/

    并在您的.htaccess文件中,靠近顶部:

    RewriteEngine On
    RewriteBase /modx-test/
    

    了解上述所有内容后,您应该能够解决几乎所有涉及路径的问题,以便安装MODX。如果不直接检查您的环境,如果我不得不冒险猜测,我会说安装脚本是从名为manager的子文件夹中运行的,因此被定义为MODX_BASE_URL。随后移动了这些文件夹,使它们不再存在于config.inc.php文件中定义的绝对路径中。这只是一种可能性,如果它偏离基础,我很抱歉。但是,再次通过上述信息,您应该能够发现问题的原因。