我想在下面显示我的网页网址
主页(登录后)
www.domain.com/username
关于Aboutme页面
www.domain.com/username/about
我的路线文件行
这个适用于主页
$route['(:any)'] = "pages/userList"; //This worked for home page
但是这个没有用,这个页面也适用于主页
$route['(:any)/about'] = "pages/about"; //Not worked
答案 0 :(得分:1)
(:any)将捕获所有内容,因此它不应该是第一条规则。
最好在用户名之前使用任何段,例如:
www.domain.com/user/username则规则为:
$route['user/(:any)'] = "pages/userList/$1";
它将匹配:www.domain.com/user/adam,www.domain.com/user/bob等......
为此:www.domain.com/username/about
$route['about/(:any)'] = "pages/about/$1";
它将匹配:www.domain.com/about/adam,www.domain.com/about/bob等... 在您的控制器中,您可以获得用户名:
$username = $this->uri->rsegment(3);
答案 1 :(得分:0)
问题是因为APPPATH.'config/routes.php'
文件中的路由优先级。 Docs下一步说:
路线将按照定义的顺序运行。较高的路线总是优先于较低的路线。
遵守该规则,应首先显示非常具体的路线,并且大多数常规路线必须位于文件末尾。在你的情况下,它会像:
$route['(:any)/about'] = "pages/about";
$route['(:any)'] = "pages/userList";