[英]Named routes not working in Laravel 5.2?
我有一些使用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')
,这会导致您的错误; 它应该是route('blog')
。
我在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视图(显示“ Login”的文本)。 存在no_auth.pricing视图(显示“ Pricing”的文本)
/路由有效。 我得到登录视图。
其他路线均无效。 直接进入/ login或/ pricing会出现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 | |
+--------+----------+---------+------+---------+------------+
对于/ login和/ pricing,Routes文件肯定有斜杠。 我已经运行php artisan route:clear
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.