Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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
drupal中排除节点编辑页的.htaccess重定向_.htaccess_Redirect_Drupal - Fatal编程技术网

drupal中排除节点编辑页的.htaccess重定向

drupal中排除节点编辑页的.htaccess重定向,.htaccess,redirect,drupal,.htaccess,Redirect,Drupal,目前,我有以下htaccess重定向规则,可以检测任何看起来像 mysite.com/node/xxx并将其重定向到.php脚本,该脚本依次查找页面的URL并将用户重定向到该页面(例如mysite.com/page/page.html) 然而,我想要的是,当用户访问 mysite.com/node 或 mysite.com/node?page=xxx 它们被重定向到主页 但是 当他们进入 mysite.com/node/xxx/edit 规则不会被激活 我尝试了几个选项(停在上面的一个),到目前

目前,我有以下htaccess重定向规则,可以检测任何看起来像

mysite.com/node/xxx并将其重定向到.php脚本,该脚本依次查找页面的URL并将用户重定向到该页面(例如mysite.com/page/page.html)

然而,我想要的是,当用户访问

mysite.com/node
mysite.com/node?page=xxx

它们被重定向到主页

但是

当他们进入

mysite.com/node/xxx/edit

规则不会被激活

我尝试了几个选项(停在上面的一个),到目前为止我已经有了这个选项,但它仍然允许用户访问
mysite.com/node?page=xxx
(所有其他条件都正常工作)

有人能帮忙吗


我只想让它转到那个页面,不做任何事情。但是当它是
/node/xxx
/node
/node?page=xxx
时,我想让它重定向到noderedict.php

如果希望它始终转到NodeDirect,请尝试:

RewriteCond %{THE_REQUEST} \ /+node\?page=([0-9]+)
RewriteRule ^ /node/%1? [L,R=301]

RewriteRule ^node/?$ /noderedirect.php [L]
RewriteRUle ^node/([0-9]+)/? /noderedirect.php?nid=$1 [L]

您的正则表达式将不匹配
node/xxx/edit
。因此它不会重写为noderedirect.php,当最后有
/edit
时,您希望它做什么?我只希望它转到该页面,而不做任何事情。但是当它是/node/xxx或/node或/node?page=xxx时,我希望它重定向到noderedirect.php
RewriteCond %{THE_REQUEST} \ /+node\?page=([0-9]+)
RewriteRule ^ /node/%1? [L,R=301]

RewriteRule ^node/?$ /noderedirect.php [L]
RewriteRUle ^node/([0-9]+)/? /noderedirect.php?nid=$1 [L]