【发布时间】:2015-08-20 22:04:09
【问题描述】:
无论我做什么,我都无法将 404 页面绑定到 Laravel 的处理程序。
这就是我的 handler.php 的样子:
//app/Exceptions/handler.php
public function render($request, Exception $e)
{
if($this->isHttpException($e))
{
switch ($e->getStatusCode()) {
// not found
case 404:
return \Response::view('errors.404',404);
break;
// internal error
case '500':
return \Response::view('errors.500',500);
break;
default:
return $this->renderHttpException($e);
break;
}
}
else
{
return parent::render($request, $e);
}
}
在我的控制器中,我像这样渲染视图:
render view($request)
其中 $request 是 uri。
我在 /views/errors/ 下添加了 404.blade.php,但仍然得到 Laravel 的标准调试错误页面:哎呀,好像出了点问题。
转储 $this->isHttpException($e) 返回 false 布尔值
这是整个日志
[2015-06-05 20:41:30] local.ERROR: exception 'InvalidArgumentException' with message 'View [contact] not found.' in /Users/username/Desktop/folderone/folder2/vendor/compiled.php:12898
Stack trace:
#0 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(12871): Illuminate\View\FileViewFinder->findInPaths('contact', Array)
#1 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(12996): Illuminate\View\FileViewFinder->find('contact')
#2 /Users/username/Desktop/folderone/folder2/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(565): Illuminate\View\Factory->make('contact', Array, Array)
#3 /Users/username/Desktop/folderone/folder2/app/Http/Controllers/PageController.php(14): view('contact')
#4 [internal function]: App\Http\Controllers\PageController->show('contact')
#5 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8287): call_user_func_array(Array, Array)
#6 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8354): Illuminate\Routing\Controller->callAction('show', Array)
#7 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8333): Illuminate\Routing\ControllerDispatcher->call(Object(App\Http\Controllers\PageController), Object(Illuminate\Routing\Route), 'show')
#8 [internal function]: Illuminate\Routing\ControllerDispatcher->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#9 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8952): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#10 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#11 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8935): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#12 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8334): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#13 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8320): Illuminate\Routing\ControllerDispatcher->callWithinStack(Object(App\Http\Controllers\PageController), Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'show')
#14 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(7317): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request), 'App\\Http\\Contro...', 'show')
#15 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(7288): Illuminate\Routing\Route->runWithCustomDispatcher(Object(Illuminate\Http\Request))
#16 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(6954): Illuminate\Routing\Route->run(Object(Illuminate\Http\Request))
#17 [internal function]: Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#18 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8952): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#19 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#20 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8935): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#21 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(6955): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#22 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(6944): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#23 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(6929): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#24 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(1935): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#25 [internal function]: Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#26 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8952): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#27 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(2438): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#28 /Users/username/Desktop/folderone/folder2/app/Http/Middleware/VerifyCsrfToken.php(17): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8944): App\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(12083): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#31 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8944): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(10785): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8944): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#34 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(11789): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#35 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8944): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#36 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(11738): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#37 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8944): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#38 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(2478): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#39 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8944): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#40 [internal function]: Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#41 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(8935): call_user_func(Object(Closure), Object(Illuminate\Http\Request))
#42 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(1891): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#43 /Users/username/Desktop/folderone/folder2/vendor/compiled.php(1880): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#44 /Users/username/Desktop/folderone/folder2/public/index.php(53): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#45 /Users/username/Desktop/folderone/folder2/server.php(21): require_once('/Users/nashdelo...')
#46 {main}
【问题讨论】:
-
您能否提供日志中的完整错误消息?
-
我已经添加了日志
-
如果您尝试返回 dd('404 error') 而不是视图,它是否工作正常?
-
默认路径是
views/errors,不是view/errors -
@Alexandros, dd('404 error');返回“404 错误”
标签: laravel http-status-code-404 laravel-5