用户
 找回密码
 入住 CI 中国社区
搜索
楼主: sdink
收起左侧

[讨论/交流] CodeIgniter URL设计严重缺陷

  [复制链接]
 楼主| 发表于 2012-2-11 09:12:54 | 显示全部楼层
燃雲 发表于 2012-2-11 07:19
这个是搜索引擎友好化了的URL?

能这么说的!真拜服拜服!

你是中国人么?上下文会联系么?
CodeIgniter 号称生成的 URL 非常干净而且是对搜索引擎友好化的。
已有句号。
生成的 URL 非常干净而且是对搜索引擎友好化的。
是CI的号称,不是我说的,与下文无关。
1 example.com/news/article/345
2  example.com?c=news&m=article&id=345
下面一句我是这么写的
上面是于enable_query_strings在不同环境下的URL
,我写的这些很简单,就是一个大项目时我会多用
$this->uri->segment ( 3 ),$this->uri->segment (4),$this->uri->segment ( 5 )
等等来取值,但是在有的虚拟主机里不支持伪静态,也不支持index.php/这样的,他认为index.php是一个目录,所以这个时候你只能用如
example.com?c=news&m=article&id=345
这样的方式,但是我已经在我的整个项目里用
$this->uri->segment ( 3 ),$this->uri->segment (4),$this->uri->segment ( 5 )
等,我没必要又在整个项目里改成$_GET['c'],$_GET['M'],$_GET['id'],如果改,那么若有一天你换个环境,你的环境支持伪静态,你已想把URL改成
example.com/news/article/345
,然后你又把整个项目里的
$_GET['c'],$_GET['M'],$_GET['id']
改成
$this->uri->segment ( 3 ),$this->uri->segment (4),$this->uri->segment ( 5 )
,那么我想问,开发人员这是干什么,换个环境改来改去的,何必?所以一个成熟的产品不管你环境有何变动,不会影响整个项目运作。精髓在于任何环境下,我只需要改我的配置,而不是去改项目中的主体部分。
发表于 2012-2-20 16:18:20 | 显示全部楼层
学习了。LZ很厉害。
发表于 2012-2-21 22:10:43 | 显示全部楼层
本帖最后由 大道达人 于 2012-2-21 22:15 编辑

建议URI段读取使用
$this->uri->rsegment(n)
这样针对改造后的路由有效,实际 CI时候也是
call_user_func_array(array(&$CI, $method), array_slice($URI->rsegments, 2));
 楼主| 发表于 2012-2-21 22:33:39 | 显示全部楼层
大道达人 发表于 2012-2-21 22:10
建议URI段读取使用
$this->uri->rsegment(n)
这样针对改造后的路由有效,实际 CI时候也是

感谢
 楼主| 发表于 2012-2-21 22:33:53 | 显示全部楼层
流浪的乞丐 发表于 2012-2-20 16:18
学习了。LZ很厉害。

一起学习
发表于 2012-2-25 07:26:42 | 显示全部楼层
sdink 发表于 2012-2-11 09:12
你是中国人么?上下文会联系么?已有句号。是CI的号称,不是我说的,与下文无关。下面一句我是这么写的, ...

说的很有道理呵
发表于 2012-2-28 09:04:17 | 显示全部楼层
不错,帮顶下
发表于 2012-3-1 17:20:53 | 显示全部楼层
{:soso_e103:}学习了,先马克,要用到的时候再来看
 楼主| 发表于 2012-3-1 21:10:43 | 显示全部楼层
感谢
发表于 2012-3-2 01:35:35 | 显示全部楼层
路过围观高手!!!

本版积分规则