我想要我的网站用户的地址是 mydomain.com/username/。但是对我来说使用codeIgniter似乎很困难。请帮助我最好的方法是什么。
mysite.com/profile?user=username 是个人资料的当前网址,但我想要这个 mysite.com/username
请帮助我,我的英语不好,所以如果你不理解我的问题,我很抱歉。
我想要我的网站用户的地址是 mydomain.com/username/。但是对我来说使用codeIgniter似乎很困难。请帮助我最好的方法是什么。
mysite.com/profile?user=username 是个人资料的当前网址,但我想要这个 mysite.com/username
请帮助我,我的英语不好,所以如果你不理解我的问题,我很抱歉。
在您的routes.php
文件中,将每个现有控制器(您应该至少有一个)路由到它自己。例如,如果您main
在main.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";
看看有没有用!
您可以使用 CI路由
在您的 route.php 文件中,选择所有用户并为每个用户创建一个路由:
$aUsers = $this->oDb->getAllUsers();
foreach($aUsers as $oUser) {
$route[$oUser->username] = "profile/" . $oUser->username;
}
它应该工作。