如果已登录的用户尝试访问它,我想将“homebox/1”的请求重定向到“homebox/1/[uid]”。我现在还不关心匿名用户。
这是我放入首页-homebox.tpl.php 的代码:
if(!is_numeric(arg(2))){
global $user;
if($user->uid){
if(count($_GET) > 1){
$get = array();
foreach($_GET as $k=>$v){
if($k != 'q')
$get[] = $k.'='.$v;
}
$get2 = '?'.implode('&',$get);
}
header("HTTP/1.1 301 Moved Permanently");
header('location:/homebox/1/'.$user->uid.$get2);
}else{
//redirect to error page
}
}
但是,*.tpl.php 文件是否在请求后期处理?在那种情况下,我这样做效率很低。
我知道路径重定向模块(http://drupal.org/project/path_redirect)。我不想使用它,因为我想了解是否有任何 Drupal API 用于重定向和/或在处理链开始时捕获和重定向请求的方法。
谢谢阿鲁尔