ログインしたユーザーがアクセスしようとすると、 "homebox/1"のリクエストを "homebox/1/[uid]"にリダイレクトします。私はまだこの時点で匿名ユーザーは気にしない。drupal redirecting api
これは、私は、トップページ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があるかどうか、および/または処理チェーンの始めに要求を捕捉してリダイレクトする方法があるかどうかを知りたいので、これを使用したくありません。
おかげ Arul