CodeIgniter中base_url()路径重复问题:如何生成正确CSS路径?
解决CodeIgniter base_url()路径错误的问题
你遇到的这个重复localhost的路径问题其实很常见,咱们一步步来搞定它:
1. 先修正base_url的核心配置
打开application/config/config.php文件,找到$config['base_url']这一行,把它设置成你的站点根URL,一定要记得结尾加斜杠:
$config['base_url'] = 'http://localhost/site/';
你之前生成的路径重复了localhost,大概率是这里配置错了——比如没写完整的http://localhost/site/,或者漏了结尾的斜杠,导致拼接资源路径时出现了异常。
2. 确保URL Helper已经加载
base_url()是CodeIgniter的URL Helper提供的函数,得先确保它被加载:
- 全局自动加载:打开
application/config/autoload.php,在$autoload['helper']数组里加上'url':$autoload['helper'] = array('url'); - 手动加载:如果不想全局加载,就在需要用的控制器里加一行:
$this->load->helper('url');
3. 正确拼接资源路径的两种方式
现在配置没问题了,用下面两种方式都能生成你想要的路径:
更省心的方式:把资源路径作为参数传给base_url()
这种方式不用纠结斜杠的问题,base_url()会自动帮你拼接正确路径:<?php echo base_url('asset/css/style.css'); ?>直接就能生成
http://localhost/site/asset/css/style.css。直接拼接(前提是base_url结尾有斜杠)
如果你习惯直接拼接,只要base_url配置正确且带结尾斜杠,这么写就行:<?php echo base_url(); ?>asset/css/style.css同样能得到正确的路径。
内容的提问来源于stack exchange,提问作者Davide




