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

[讨论/交流] 关于CI的site_url函数与TP的u函数

[复制链接]
发表于 2013-4-24 16:16:04 | 显示全部楼层 |阅读模式
用过Thinkphp的朋友应该都知道,thinkphp提供了一个U函数,用来生成URL,同时完美的支持了:PATH_INFO,QUERY_STRING等几种类型URI的生成,当网站完成后,想要变换URL模式时也是极其方便,毕竟不是所有服务器都支持PATH_INFO的。
CI中提供了site_url函数统一生成url,但它却无法生成QUERY_STRING方式的URL,且如果自行建议了QUERY_STRING的URL,CI还不再支持部分辅助函数了。

CI让我纠结的是,如果我全部自行建议QUERY_STRING方式的URI,会导致将来做搜索引擎优化时比较麻烦,但如果统一用site_url生成,却又不支持我最喜欢的QUERY_STRING。

请较下各位,如何处理这样矛盾的问题呢?

发表于 2013-4-25 10:38:09 | 显示全部楼层
我的做法是 URI 分段和 Query string 结合的方式,例如:
http://domain.com/index.php/控制器/方法?a=1&b=2&c=3

另外,你可以扩展 site_url,helper 也是可扩展的。
 楼主| 发表于 2013-4-25 10:45:21 | 显示全部楼层
Hex 发表于 2013-4-25 10:38
我的做法是 URI 分段和 Query string 结合的方式,例如:
http://domain.com/index.php/控制器/方法?a=1&b= ...

多谢HEX的回复,如果采用扩展方式的话,那要扩展的东西就太多了。不只site_url
helper里的form,uri,都需要扩展。改动太大。
结合的方式感觉也怪怪的。。遇到服务器不支持URI分段的,就不好办了。


发表于 2013-4-25 10:47:58 | 显示全部楼层
shher 发表于 2013-4-25 10:45
多谢HEX的回复,如果采用扩展方式的话,那要扩展的东西就太多了。不只site_url
helper里的form,uri,都需 ...

你说要扩展很多东西,我同意,这个功能确实没有 TP 的强大,不过我个人觉得够用了。

另外你说结合的方式怪怪的,我不同意,你看看 google 的 url 是不是这种结合呢?呵呵

本版积分规则