Php mvc没有使用<img/>加载图片

时间:2014-11-27 02:03:58

标签: php .htaccess

我制作了自己的php MVC,除了加载某些图像外,它完美适用于所有内容。例如,它将加载像图标和一些其他图像,但是当涉及到使用标签时,它不会加载图像,但当我查看谷歌浏览器开发人员检查工具时,它显示我的标签图像没有加载。它返回一个301号码并加载HTML。所以就像我的MVC一样认为图像的URL是一个页面!我希望我的MVC只向我的index.php文件发出请求,该文件位于我的站点的根目录中。此外,当它涉及它生成HTML代码,我的意思是,当我把直接图像网址时,它会转到我的错误html页面 在浏览器中。 图片的绝对网址:

http://localhost/website/user_data/cfedabd2e283c19c06f3b8b5bd45df4bb66c2b3a/photo.jpg

以下是我的代码:

的.htaccess -

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?u=$1 [PT,L]

</IfModule>

bootstrap.php中(路由器) -

class Bootstrap {

    function __construct() {
        $url = $_GET['u'];
        $url = rtrim($url, '/');
        $url = explode('/', $url);

if (empty($url[0])) {
    require 'controllers/index.php';
    $controller = new Index();
    $controller->index();
    return false;
}

$file = 'controllers/' . $url[0] . '.php';
if (file_exists($file)) {
    require $file;
} else {
    $this->error();
}

$controller = new $url[0];
$controller->loadModel($url[0]);

// calling methods
if (isset($url[2])) {
    if (method_exists($controller, $url[1])) {
        $controller->{$url[1]}($url[2]);
    } else {
        $this->error();
    }
} else {
    if (isset($url[1])) {
        if (method_exists($controller, $url[1])) {
            $controller->{$url[1]}();
        } else {
            $this->error();
        }
    } else {
        $controller->index();
    }
}
}

function error() {
    header('location: ' . APP_URL . 'index');
}

index.php(我想要所有请求的地方) -

<?php
//error_reporting(E_ALL);
session_start();

/* Require all config files */
require 'config/config.php';


/* Initiate system */
$bootstrap = new Bootstrap;
?>

示例用户看到的内容 -

<h3>Error page not found</h3>

的图像
$photo = "http://localhost/website/user_data/cfedabd2e283c19c06f3b8b5bd45df4bb66c2b3a/photo.jpg;
<img src="<?php echo $photo; ?>" width="200" style="max-height: 200;"/>

0 个答案:

没有答案