изображение не отображается изнутри другой точки входа

У меня очень простой mvc с небольшим диспетчером, я получаю url и разбиваю его. Затем я ищу конкретный класс и метод в классе, если такой не найден, из двух я бросаю страницу ошибок с изображением и заголовком. В ошибочном имени класса в URL-адресе я получаю то, что ожидаю, но если у меня есть действительное имя класса и недопустимое имя метода, я получаю в другом месте, а оттуда получаю желаемый 404-код и заголовок, но изображение не может быть отображено , потому что я застрял с добавленным /something/Assets/notfound.jpg в моем URL-адресе запроса.

Мой тестовый URL:

http://localhost/php-mvc/users/

Что я получаю в запросеURL:

] Вот мой код в диспетчере (index.php):

";

$filePart = $_SERVER['PHP_SELF'];

$urlPart = $_SERVER['REQUEST_URI'];

$cuttingPart = str_replace(basename(__FILE__), '', $filePart);

$realPart = str_replace($cuttingPart, '', $urlPart );



$urlArray = explode('/', $realPart);

$urlClass =  'Controllers\\'.ucfirst(array_shift($urlArray)).'Controller';

$urlMethod = array_shift($urlArray);

if(class_exists($urlClass)){
    if(is_callable(array($urlClass, $urlMethod))){
        call_user_func_array([$urlClass, $urlMethod], $urlArray);
    }
    else{
        $error = new ErrorController();
        $error->throwError();
    }
}
else{
    $error = new ErrorController();
    $error->throwError();
}

My ErrorController ():

My ErrorView.php:



    Error!


    


и мой каталог:

0
задан 13 August 2018 в 14:41

1 ответ

Попробуйте это вместо

<img src="../Assets/notfound.jpg">
0
ответ дан 15 August 2018 в 17:02

Другие вопросы по тегам:

Похожие вопросы: