在Laravel 5.2中无法使用的命名路由?

时间:2016-01-13 09:15:18

标签: php laravel laravel-5 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

2 个答案:

答案 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