我有一些使用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
。
答案 0 :(得分:1)
您的错误消息表明您正在尝试访问名称为" / blog"的路线,但是,您的路线已命名为"博客" (没有斜线)。在某处您有代码route('/blog')
,这会导致您的错误;它应该是route('blog')
。
答案 1 :(得分:0)
我和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视图(显示“定价”的文本)
/ route有效。我得到了登录视图。
其他任何一条路线都不起作用。直接进入/登录或/定价给我404错误。在服务器上启用了mod_rewrite,我使用的是默认的Laravel 5.2 .htaccess文件。
php artisan route:list看起来像(注意缺少的前导斜杠?):
+--------+----------+---------+------+---------+------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+---------+------+---------+------------+
| | GET|HEAD | / | | Closure | |
| | GET|HEAD | login | | Closure | |
| | GET|HEAD | pricing | | Closure | |
+--------+----------+---------+------+---------+------------+
Routes文件肯定有/ login和/ pricing的主要斜杠。 我跑了 php artisan route:clear