我按照所有说明在本地主机上安装modx revolution环境,它似乎没有安装错误,但是到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,请检查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个实例位于:
网络根目录,例如
'/'
连接器文件夹,例如
'/connectors/'
管理器文件夹,例如
'/manager/'
所有3个都应包含
config.core.php
的相同副本,其中的php常量必须指定有效值。核心文件夹应该由正在执行modx(php)的同一用户拥有,并且应该具有0755
权限(偶尔需要0775
,但不建议在共享宿主环境中使用)。第四个配置文件是最重要的一个,位于
MODX_CORE_PATH
的子文件夹中,名为config
,文件名为MODX_CONFIG_KEY . '.inc.php'
。在上面的例子中是:/path/to/core/config/config.inc.php
该文件为所有文件夹定义具有绝对路径和绝对url(相对于web根)的常量,而modx安装需要访问这些文件夹。同样,web根目录的路径和url也在这里定义;
MODX_BASE_PATH
和MODX_BASE_URL
。安装程序应该已经用正确的值填充了所有这些内容,但是当您遇到与路径相关的错误时,最好检查这些路径。
您的服务器配置也可以在这里发挥作用。例如,如果modx安装在子文件夹中,而不是本地web服务器的根目录中,则需要确保路径包含该内容。
另外,如果您在modx安装中启用了友好的url,那么您将希望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
文件中定义的绝对路径中。那只是一种可能性,如果它偏离了基准,我很抱歉。但同样地,通过以上信息,你应该能够找出问题的原因。