0

我想要我的网站用户的地址是 mydomain.com/username/。但是对我来说使用codeIgniter似乎很困难。请帮助我最好的方法是什么。

mysite.com/profile?user=username 是个人资料的当前网址,但我想要这个 mysite.com/username

请帮助我,我的英语不好,所以如果你不理解我的问题,我很抱歉。

4

2 回答 2

2

在您的routes.php文件中,将每个现有控制器(您应该至少有一个)路由到它自己。例如,如果您mainmain.php文件路由中有控制器:

$route['main'] = "main";
$route['main/(:any)' = "main/$1";

你应该路由它两次的原因是因为你必须确保打开http://yoursite/main工作以及http://yoursite/main/my_method/等等。对你拥有的每个其他控制器都这样做。

下一步是将所有其他内容路由到您的用户控制器。例如,您有一个profile具有 1 个参数的方法 - 用户名。

$route['(:any)'] = "users/profile/$1";

所以现在你将把其他所有东西都路由到users/profile/username.

要记住的一件事是文件中的最高优先级更高,routes.php因此您的路线文件应如下所示:

$route['main'] = "main";
$route['main/(:any)' = "main/$1";
$route['users'] = "main";
$route['users/(:any)' = "main/$1";
$route['(:any)'] = "users/profile/$1";

看看有没有用!

于 2012-08-25T12:11:37.037 回答
0

您可以使用 CI路由

在您的 route.php 文件中,选择所有用户并为每个用户创建一个路由:

$aUsers = $this->oDb->getAllUsers();
foreach($aUsers as $oUser) {
    $route[$oUser->username] = "profile/" . $oUser->username;
}

它应该工作。

于 2012-08-25T10:52:00.870 回答