ログインしたユーザーがアクセスしようとした場合、これを「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 )について知っています。リダイレクト用のDrupalAPIや、処理チェーンの最初でリクエストをキャッチしてリダイレクトするメソッドがあるかどうかを知りたいので、これは使用したくありません。
ありがとうアルル