【问题标题】:passing a value to second segment in uri codeignighter将值传递给 url codeigniter 中的第二个段
【发布时间】:2013-06-12 22:43:00
【问题描述】:

通常在 Codeigniter 中,默认情况下一个 url 有两到三个这样的段。 http://www.yoursite.com/controller/function

我的问题是,如果我的代码在控制器的索引部分,我可以用该函数段替换一个值吗?

我有一个仅用于用户配置文件的控制器,并且我正在尝试使其成为最简单的 url,因此它很容易共享。例如,我希望 url 类似于 http://www.mywebsite.com/author/zazvorniki 而不必调用这样的函数。 http://www.mywebsite.com/author/user/zazvorniki

这可能吗?有没有我可以更改的设置来实现这一点?

【问题讨论】:

  • 我正在查看,但似乎如果您设置一个路由规则,它将影响所有 url 而不仅仅是一个控制器......我读对了吗?我有点害怕我会把一切都搞砸......
  • 它只会影响那些以控制器 slug 为前缀的 url(即 /author/)
  • 好的,但是如果我这样做 $route['author'] = "author/";如何插入用户名以调出正确的个人资料?
  • Answer 显示应该添加的路由规则。

标签: php codeigniter segment


【解决方案1】:

只需添加以下路由规则。

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

【讨论】:

  • 我很抱歉这么密集,但这对我来说仍然没有任何意义。当我遵循您发布的规则时,我仍然会返回 404 错误页面,因为它似乎仍在寻找用户名所在的功能。
  • 只是为了测试将规则更改为 ` $route['authors/(:username)'] = "author/user/$1";` 所以它不会与现有的作者控制器冲突路线
  • 谢谢!我想通了,由于某种原因它不喜欢 :username,但它接受了 :any。
  • 我会更改答案以反映这一点
猜你喜欢
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
  • 2012-10-26
  • 1970-01-01
相关资源
最近更新 更多