Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache MODx重写,用于访问逻辑支持页_Apache_.htaccess_Modx Revolution - Fatal编程技术网

Apache MODx重写,用于访问逻辑支持页

Apache MODx重写,用于访问逻辑支持页,apache,.htaccess,modx-revolution,Apache,.htaccess,Modx Revolution,需要一点帮助,我们已经有了一个带有友好URL的数据库设置来完成数据库的输出-这一切都很好,但是我现在不得不在结构中添加一个物理子目录,基本上它是中断的,我的htaccess技能是零 下面是我对虚拟数据库URL的介绍 RewriteRule ^resources/([^/]*)/(.+)$ index.php?q=resources/$1-display/&req=$1/$2 [L] 这使得url显示为domain.com/resources/page/alias 页面具有页面显示的完整

需要一点帮助,我们已经有了一个带有友好URL的数据库设置来完成数据库的输出-这一切都很好,但是我现在不得不在结构中添加一个物理子目录,基本上它是中断的,我的
htaccess
技能是零

下面是我对虚拟数据库URL的介绍

RewriteRule ^resources/([^/]*)/(.+)$ index.php?q=resources/$1-display/&req=$1/$2 [L]
这使得url显示为
domain.com/resources/page/alias

页面具有页面显示的完整别名,因此为-display部分

现在,我想将
CMS
中的一个现有页面移动到
domain.com/alias
,并将其移动到

 domain.com/resources/subfolder/alias
domain.com/resources/subfolder/[document] 
我的问题如下

如果我将物理页面移动到

 domain.com/resources/[document] - 
一切都很好,读起来像

domain.com/resources/alias
如果我把它移到

 domain.com/resources/subfolder/alias
domain.com/resources/subfolder/[document] 
它爆炸并抛出一个错误

我试过了

RewriteRule ^resources/([^/]*)/(.+)$ index.php?q=resources/subfolder/$1/$2 [L]

但是没有用,任何人都有任何想法,因为我不是
htaccess
方面的专家,但我需要打开这一页:/

任何帮助都将不胜感激


非常感谢

我不熟悉modx,但我认为您现有的重写规则可能与新位置的页面冲突

如果是这种情况,您可以通过添加一个对规则进行例外处理的条件来绕过它

RewriteCond %{REQUEST_URI} !^/resources/infographics
  RewriteRule ^resources/([^/]*)/(.+)$ index.php?q=resources/$1-display/&req=$1/$2 [L]

这假设在CMS中移动页面并且禁用现有规则后,对
/resources/infographics/这是该页面的请求将正常工作。

modx的默认htaccess文件

RewriteEngine On
RewriteBase /

#RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.example.com [NC]
RewriteRule (.*) http://www.example.com/$1 [R=301,L]



# Rewrite secure requests properly to prevent SSL cert warnings, e.g. prevent 
# https://www.example.com when your cert only allows https://secure.example.com
#RewriteCond %{SERVER_PORT} !^443
#RewriteRule (.*) https://example.com/$1 [R=301,L]



# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

检查完整htaccess文件

您能否进一步澄清这一点?我不知道你是想重写还是移动文件。文件的当前实际路径是什么?它是
index.php吗?q=alias
?工作请求是什么?您希望重写看起来像什么?抱歉,这是modx中的一个页面资源,我需要在heriarchical树中移动它。它的当前位置是domain.com/this-is-the-page,但需要移动到domain.com/resources/infographics/this-is-the-page。问题是/resources/下的大部分页面都是动态生成的,类似于资源/案例研究/案例研究文章或资源/媒体报道/媒体报道文章/resources/random页面名称,但一旦您添加一个逻辑子文件夹,它就会失败,希望这有助于澄清一点?