当用户登录时,我希望他们能够访问http://website.com/user并被带到http://website.com/1/johndoe,1他们的用户 ID 和johndoe用户名在哪里。
我正在尝试使用_remap()来捕获所有尝试http://website.com/user/,因此即使是不完整的 URI,例如http://website.com/user/1或被http://website.com/user/1/joh重定向到http://website.com/user/1/johndoe.
这是我尝试过的:
class User extends CI_Controller {
function index($uID, $user) {
echo $uID;
echo $user;
}
function _remap() {
$uID = 3;
$user = 'johndoe';
//redirect('user/'.$uID.'/'.$user); // Updates URI, but redirect loop
//$this->index($uID, $user); Works, but doesn't update the URI
}
}
我当然可以先检测该方法,然后执行以下操作:
function _remap($method = '') {
if ($method != 'view') {
$uID = 3;
$user = 'johndoe';
redirect('user/view/'.$uID.'/'.$user);
}
}
function view($uID, $user) {
echo $uID;
echo $user;
}
但后来我认为 URI 看起来像http://website.com/user/view/1/johndoe,我宁愿view被排除在外。我该如何解决这个问题?