You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter 3仅首页显示图片其他页面不显示问题求助

解决CodeIgniter 3中仅首页可显示图片的问题

问题根源

  1. 相对路径解析错误:非首页的URL(如/bookflix/xxx/xxx)会将相对路径image/logo.jpg解析为/bookflix/xxx/image/logo.jpg,导致找不到图片文件。
  2. .htaccess规则遗漏目标目录:你的Rewrite规则排除的是images目录,但实际图片存放在image目录,请求会被转发到index.php,无法直接访问静态资源。

解决方案

方案1:修正图片路径(推荐)

使用CodeIgniter内置的base_url()函数生成绝对路径,确保所有页面的图片路径一致:

<img src="<?php echo base_url('image/logo.jpg'); ?>" alt="..." width="500">

注意:需先在application/config/config.php中配置正确的base_url,例如:

$config['base_url'] = 'http://your-domain/bookflix/';

方案2:添加HTML base标签

在页面的<head>中添加<base>标签,统一页面内相对路径的基准:

<head>
    <base href="<?php echo base_url(); ?>">
</head>

之后原有的图片标签即可正常使用:

<img src="image/logo.jpg" alt="..." width="500">

方案3:修正.htaccess规则

将.htaccess中排除的目录从images改为image,确保静态资源请求不会被转发到index.php:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /bookflix/
    RewriteCond $1 !^(index\.php|image|css|js|robots\.txt|favicon\.ico)
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

提示:建议同时使用方案1+方案3,既保证路径正确性,又避免静态资源被不必要的路由处理。

内容的提问来源于stack exchange,提问作者Divya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:24:53