命名路由在 Laravel 5.2 中不起作用?
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 的前导斜线。
我有 运行
php artisan route:clear
我有一些使用 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 的前导斜线。 我有 运行 php artisan route:clear