正如我在一些参考资料中所读到的,base_url()
和Codeigniter
中的site_url()
函数几乎是相同的,尽管我的Codeigniter(2.1.3)版本在其config.php文件(在config目录中)中没有site_url()。
然而,既然我见过site_url()带有参数,但从未见过base_url()不带参数,那么它们之间有什么不同吗?
正如我在一些参考资料中所读到的,base_url()
和Codeigniter
中的site_url()
函数几乎是相同的,尽管我的Codeigniter(2.1.3)版本在其config.php文件(在config目录中)中没有site_url()。
然而,既然我见过site_url()带有参数,但从未见过base_url()不带参数,那么它们之间有什么不同吗?
7条答案
按热度按时间jw5wzhpr1#
如果您希望通过URL访问某个资源(如css、js、image),请使用
base_url()
,否则使用site_url()
更好。查看CodeIgniter中的这两个函数。
基本URL函数。
k3fezbri2#
site_url
:返回基本URL +索引页+ URI字符串base_url
:返回基本URL + URI字符串请参阅两个函数的源代码:https://github.com/EllisLab/CodeIgniter/blob/606fee0e2e0aa6a906db82e77090e91f133d7378/system/core/Config.php
r1wp621o3#
1.网站网址
site_url
的目的是在URL发生变化时,使页面更易于移植。site_url
与index.php
文件一起出现。可以选择将段作为字符串或数组传递给函数。
它将给予:http://ci.com/index.php/news/local/123
您甚至可以将段作为数组传递:
2.基本网址
base_url
是未附加index_page
或url_suffix
的值。与site_url
类似,您可以将区段提供为字串或数组。如果你想通过URL访问一个资源,使用
base_url
,你可以给一个文件提供一个字符串,比如一个图像或样式表,否则site_url
就足够了。cbwuti444#
或者,您也可以在CodeIgniter根数据夹中的
index.php
档案旁边建立.htaccess
档案。只需在
.htaccess
文件上添加以下代码:该代码将使字
index.php
保持不可见。将更改为
z4bn682m5#
即使没有
.php
扩展,也可以使用Codeigniter
中常用的base_url()
。Wordpress
自定义模板中常用的site_url()
,即使您只调用博客的post_title
或扩展名为的文件名,也可以使用。irlmq6kh6#
site_url()是执行index.php,这就是为什么site_url比base_url更好的原因。
jhkqcmku7#
我想补充一下什么时候使用base_url()和site_url()。基本上,在为控制器创建链接时可以使用site_url(),而在我们需要为资产创建url时,如加载css或js文件或一些图像时,可以使用base_url()。
我总是更喜欢使用site_url()来创建到控制器或 AJAX url的链接,使用base_url()来加载资源。