目前我有以下htaccess重定向规则,可以检测任何看似
的路径mysite.com/node/xxx并将其重定向到.php脚本,该脚本依次查找页面的URL并将用户重定向到该页面(例如mysite.com/page/page.html)
RewriteCond %{QUERY_STRING} ^(page=(31|1))?$ [NC]
RewriteRule ^node/?$ /? [L,NC,R=301]
RewriteRule ^(../)?node/([0-9]+)$ noderedirect.php?nid=$2 [L]
然而,我想要的是用户访问时
mysite.com/node
要么
mysite.com/node?page=xxx
他们被重定向到主页
BUT
访问时
mysite.com/node/xxx/edit
该规则未被激活。
我尝试了几个选项(停在上面的那个),到目前为止,我已经有了这个,但它仍然允许用户访问mysite.com/node?page=xxx
(所有其他条件都正常。
有人可以帮忙吗?
答案 0 :(得分:0)
我只是想要它去那个页面,而不是做任何事情。但当它
/node/xxx
或/node
或/node?page=xxx
时,我希望它重定向到noderedirect.php
如果您希望它始终转到noderedirect,请尝试:
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]