php - codeigniter 默认 Controller url 路由

标签 php codeigniter url-routing

我正在组建一个简单的网络站点,并希望 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/

相关文章:

php - 带数组的 ActiveRecord where_in()

php - URL 安全漏洞修复 '../'

php - 如何从 PHP 中的时间戳格式化日期?

sockets - keepalive & fastcgi_keep_conn 开启时 Nginx+php-fpm 出错

php - 如何在 PHP 中显示价格范围?

php - 找到两个用户之间共同喜好的最佳方式

php - 哪个更好?将结果存储在 session 中还是重新查询数据库?

php - GROUP_CONCAT 的重复值 - CI

model-view-controller - Play 2.0 框架 - POST 参数

azure - Azure Functions 可以与 URI 路径 ID 一起使用吗?