我正在组建一个简单的网络站点,并希望 url 的工作方式与 facebook 类似,因此通过输入 domain.com/username,我将获得一个用户配置文件。我已经可以这样做了
登录用户个人资料在
domain.com/
其他用户资料在
domain.com/home/username
默认 Controller 称为 home,我目前正在使用 _remap 函数来检查额外的 url 参数,以根据传递或未传递的内容显示不同的数据。
我的问题是如何将其映射出来以便我可以通过以下方式访问用户配置文件:
domain.com/username
是否有我可以使用的 routes.php 设置? htaccess?
最佳答案
您应该在 config/routes.php 中添加以下规则
// Profile Route
$route['(:any)'] = 'home/$1';
这会将您的所有请求重新路由到家庭 Controller 。
因此 domain/michelle
将重新路由为 domain/home/michelle
但在这种情况下,您的所有请求都将重新路由到家庭 Controller
例如。 domain/pages/about
也将重新路由到 domain/home/pages/about
wich false。
domain/michelle => domain/home/michelle // TRUE
domain/pages/about => domain/home/pages/about // FALSE
因此您必须在配置文件路由之前为每个请求添加相同的规则,
例如。 $route['pages/(:any)'] = 'pages/$1';
把它们放在一起:
// Page Route
$route['pages/(:any)'] = 'pages/$1'
// Last Profile Route
$route['(:any)'] = 'home/$1';
关于php - codeigniter 默认 Controller url 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11928893/