我有一些使用as
参数的命名路由。在5.1中似乎工作得很好,但当我在5.2中使用相同的包时,它会抛出一个错误:
ErrorException in UrlGenerator.php line 307:
Route [/blog] not defined. (View: ...)
我已经清除了所有的藏匿处,但没有用。
php artisan cache:clear
php artisan view:clear
php artisan route:clear
php artisan config:clear
已倾倒:
composer dump-autoload
但仍然不起作用。当我做php artisan route:list
时,我觉得还可以:
+--------+----------+------------------+------------+----------------------------------------------------------------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+------------------+------------+----------------------------------------------------------------+------------+
| | GET|HEAD | blog | blog | ... | |
| | GET|HEAD | blog/feed | feed | ... | |
编辑:澄清一件事。我在尝试生成路由时肯定使用了route('blog')
。它在Laravel 5.1中也很好。更不用说,在我介绍的特定示例中,它与所有命名的路由有关,而不仅仅是blog
。
您的错误消息说您正试图访问名为"/blog"的路由,但您的路由名为"blog"(无斜杠)。在某个地方,您有代码route('/blog')
,这导致了您的错误;它应该是CCD_ 6。
我对Laravel 5.2也有同样的问题。我定义了3条简单的路线。
Route::get('/', function () {
if (!empty(Auth::user())) {
return view('auth.zipline');
} else {
return view('no_auth.login');
}
});
Route::get('/login', function () {
return view('no_auth.login');
});
Route::get('/pricing', function () {
return view('no_auth.pricing');
});
no_auth.login视图存在(显示"登录"的文本)。存在no_auth.pricing视图(文字显示"pricing")
/路线有效。我得到了登录视图。
其他路线都不起作用。直接进入/login或/pricing会给我404个错误。服务器上启用了mod_rewrite,我使用的是默认的Laravel 5.2.htaccess文件。
php artisan路由:列表看起来像(注意到缺少前导斜杠吗?):
+--------+----------+---------+------+---------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+---------+------+---------+------------+
| | GET|HEAD | / | | Closure | |
| | GET|HEAD | login | | Closure | |
| | GET|HEAD | pricing | | Closure | |
+--------+----------+---------+------+---------+------------+
Routes文件中肯定有/login和/pricing的斜杠。我已经跑了php artisan路由:清除