[英]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.