在CodeIgniter上使用$base_url和不使用它之间的区别


Difference between using $base_url and not using it on CodeIgniter

这两种方法的区别是什么呢

<img src="<?php print base_url(); ?>img/test.png" />
<!-- and -->
<img src="/img/test.png" />

我在我的网站上有同样的结果。不妨在我的控制器上删除URL helper ($this->load->helper('url'))以减少额外的进程,因为它们是相同的。

如果添加帮助器有什么好处,请告诉我。

不同的是,如果您想将应用程序放在子目录中。

如果原来的/变成了/application/,那么你所有的根目录都将失效。

它只是让你的应用程序免费安装在任何地方,不需要在网站的根用户。

根据我使用CodeIgniter的经验,使用base_url()是最佳实践。它最终保证你的链接是正确的(类似于添加…/工作时,你需要的文件夹是1级以上)。此外,我在过去有CodeIgniter添加的url在config[base_url]两次的问题,如果我忘记把http://在它。一个小错误,却能毁掉整个项目。所以,基本上不同之处在于它保证路径是正确的,但不是在任何时候都需要

如果你使用域的根路径,这是没有区别的。

这有点像一个功能,如果你使用它,你可以更容易地迁移到任何域或内部目录路径。

另一个优点是,当您开发API或RSS提要时,图像路径或其他任何内容将被编写为完整的URL,因此消费者可以轻松使用。

我在site_url()中发现了另一件事。这是我发现在url末尾设置/的唯一方法。例如:将导致http://domaine.tld/controller

另一方面http://domaine.tld/controller/希望对大家有所帮助