php - ModX 革命路径问题

标签 php linux modx-revolution

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

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

/*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 种可能性,请检查您的 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. 经理文件夹,例如'/经理/'

它们中的所有 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 文件中定义的绝对路径中。这只是一种可能性,如果不对,我很抱歉。但是再次使用上述信息,您应该能够找出问题的原因。

关于php - ModX 革命路径问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31571997/

相关文章:

Python 多处理。你如何从 child 那里得到 parent 的地位?

c - 为什么堆栈溢出导致段错误而不是 Linux 中的堆栈溢出?

javascript - 点击页面跳转后网站重定向至首页

php - 有没有办法在 php 中覆盖/重命名/重新映射函数?

php - 分页不正确显示页码 Codeigniter

linux - awk : how to use variable value

modx revolution 缓慢的后端

php - 如何在大量数据中preg_replace_all

php - 如何获取以下查询的结果计数?

javascript - WordPress 以编程方式添加帖子标签