XAMPP 上的 CodeIgniter - 403/404 访问图像时出错

Posted

技术标签:

【中文标题】XAMPP 上的 CodeIgniter - 403/404 访问图像时出错【英文标题】:CodeIgniter on XAMPP - 403/404 Error accessing images 【发布时间】:2014-05-25 14:18:56 【问题描述】:

我真的很难理解为什么我似乎无法将任何图像加载到我在 XAMPP 上的本地 Codeigniter 安装中。

我已将img 文件夹放入application 文件夹中,其中仅包含一张名为arrow.png 的图像,但我无法访问它,也无法在我的视图中显示它。

我怀疑这可能是 .htaccess 问题,但我尝试了不同的解决方案但没有成功。这是我目前拥有的:

Options FollowSymLinks
<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond $1 !^(index\.php|robots\.txt|assets|cache|themes|uploads)
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

在我的配置 PHP 中,我当然已经编辑过:

$config['index_page'] = '';

在我看来,ordine.php 我这样称呼我的图像:

<img src="<?php echo base_url("img/arrow.png"); ?>" title="Go to Top" />

生成的 URL 似乎正确,但图像未显示。如果我直接访问该链接,则会收到 404 错误。

http://localhost/clientname/img/arrow.png

编辑: 会不会是我的 httpd.conf apache 文件的问题,设置如下?

Alias /bitnami/ "/Applications/XAMPP/xamppfiles/apache2/htdocs/"
Alias /bitnami "/Applications/XAMPP/xamppfiles/apache2/htdocs"

<Directory "/Applications/XAMPP/xamppfiles/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

提前感谢您对此提出的任何建议和帮助。

【问题讨论】:

你试过在config中设置base_url吗? 目前它被设置为我的本地IP(因此同一网络中的其他用户可以从其他计算机上毫无问题地看到它),但即使将其更改回本地主机似乎也不起作用。跨度> 如果 localhost 正常工作,则在配置中将 base_url 设置为 http://&lt;computername&gt;.&lt;domainname&gt;.com/clientname/ 并检查是否正常 不,不是,我写错了,我回答后一秒就修改了:P 这里是我在 config.php 中的行:$config['base_url'] = MYLOCALIP/clientname'; 【参考方案1】:

经过一番努力,我自己解决了这个问题。事实证明,这一切都是 OS X 权限不允许我查看特定子文件夹中的图像。我必须做的是写在this post。

感谢所有努力帮助我的人 - 对于这类问题,总是很难理解是本地操作系统问题还是网络服务器问题。

【讨论】:

太棒了!祝您编码愉快!【参考方案2】:

检查您的 htaccess 文件。它是否允许在网页中加载图像。我将在此处放置一个有效的 htaccess 文件。试试看..

RewriteBase /clientname/
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %REQUEST_FILENAME !-f
RewriteCond %REQUEST_FILENAME !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

您也可以参考论坛here 讨论 CI 无法显示图像

【讨论】:

你可能想用img替换图片 @hades2510,是的,你是对的。进行了更改。谢谢! 无事可做。尝试像您一样更改我的 htaccess 文件,但没有任何变化。顺便说一句,我说的是位于 Codeigniter 根目录中的 htaccess,/application 文件夹中的那个只包含“拒绝所有” 不幸的是仍然没有运气。但是现在我从 Codeigniter 得到一个 404 错误页面,而不是来自网络服务器的正常页面 图片的相对路径是什么【参考方案3】:
         <?php echo base_url("/img/arrow.png"); ?>

试试这个。

【讨论】:

不成功,生成的 URL 是一样的:localhost/clientname/img/arrow.png 它应该是正确的,但我仍然得到该死的 404 错误。 “未找到您请求的页面。” 我试过了,但没有。我什至无法从浏览器直接访问该文件! @user983983 请在回答之前仔细阅读问题,操作已经说“我已将一个img文件夹放入应用程序文件夹”您的答案将相对于index.php输出

以上是关于XAMPP 上的 CodeIgniter - 403/404 访问图像时出错的主要内容,如果未能解决你的问题,请参考以下文章

XAMPP 上的 CodeIgniter - 403/404 访问图像时出错

xampp 上的 codeigniter 想让我在 uri 中使用 index.php

Codeigniter 4 不适用于带有 PHP 8.0 的 xampp

XAMPP在codeigniter上加载空白屏幕

codeigniter上的PHP短标签错误

将 SimplePie 与 CodeIgniter 和 XAMPP 一起使用