CodeIgniter中href标签内echo base_url出现路径重复问题
CodeIgniter 资源路径重复与标签异常问题解决方案
路径重复问题修复
首先确认base_url本身的输出是否符合预期,在页面任意位置插入测试代码:
<?php echo base_url(); die; ?>
如果输出结果不是你配置的https://www.mysite.in/,按以下顺序排查:
- 检查
application/config/config.php文件中是否存在多次$config['base_url']赋值的情况,靠后的赋值会覆盖之前的配置 - 检查是否在控制器、公共逻辑文件中存在重新修改
base_url配置的代码
如果单独输出base_url()结果正常,但页面渲染后link标签的href出现域名重复,比如最终属性值为https://www.mysite.in/https://www.mysite.in/assets/xxx,按以下顺序排查:
- 检查站点的Nginx/Apache重写规则,是否存在对资源路径的强制拼接跳转逻辑
- 禁用页面所有JS脚本后再次查看元素,排查是否有全局JS对所有带href属性的标签做了路径二次拼接处理
img标签缺失问题修复
按以下顺序排查:
- 确认img标签语法书写正确,规范写法参考:
<img src="<?php echo base_url(); ?>assets/img/demo.png" alt="演示图"> - 检查你是否在输出HTML内容时使用了
strip_tags等过滤函数,且未将img标签加入允许列表 - 检查所有资源引用标签是否都放在HTML规范要求的位置,比如favicon相关link标签需要放在
<head>标签内部,不符合规范的标签位置可能会被浏览器自动过滤
内容的提问来源于stack exchange,提问作者secondsight
相关产品推荐
相关产品推荐

