用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2739|回复: 1
收起左侧

[版本 3.x] CodeIgniter里绝对路径相对路径的困惑

[复制链接]
发表于 2016-2-1 10:23:35 | 显示全部楼层 |阅读模式
本帖最后由 Closer 于 2016-2-1 10:46 编辑

CodeIgniter的MVC功能非常好,但是好像在绝对路径、相对路径这里有一点点小问题。以下情况不考虑uri路由。
假设我有一个页面1是 http://www.site.com/user/index,用来展示当前用户信息的页面。
同时, 页面2:http://www.site.com/user/index/,也是可以访问的。
注意第二个链接后面加上了一个斜杠,导致了浏览器认为两个页面在不同目录(尽管两个页面是一样的内容)。

问题出现在,假设在页面内有一个相对连接,<a href='order'></a>。当用户访问
http://www.site.com/user/index时,能够被正确引导至http://www.site.com/user/order
但是当用户访问http://www.site.com/user/index/时,则会被引导至http://www.site.com/user/index/order,称为了index下级的目录,这是不合理的。

我知道可以用base_url生成绝对路径,但这并不是问题的最终解决方案,我想要做到的是各个页面自适应。
请问大家是怎么处理这个路径问题的?
发表于 2016-2-1 10:44:33 | 显示全部楼层
这个 CI 已经有解决方案了。
用 site_url() 和 base_url() 函数,访问控制器的 URL 用 site_url(),访问图片 CSS JS 用 base_url()。
函数的具体用法参见手册。

本版积分规则