drupal中排除节点编辑页的.htaccess重定向
目前,我有以下htaccess重定向规则,可以检测任何看起来像 mysite.com/node/xxx并将其重定向到.php脚本,该脚本依次查找页面的URL并将用户重定向到该页面(例如mysite.com/page/page.html) 然而,我想要的是,当用户访问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 规则不会被激活 我尝试了几个选项(停在上面的一个),到目前
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]