我在laravel 5.5中的路线有这个奇怪的问题,每当我尝试打开我的一条路线时,我得到 @POST
@Consumes("application/xml")
@Produces("*/*")
Response postBook(Book book);
错误
抱歉,找不到您要查找的页面。
所以我必须在我的404
文件上移动该路线,这在实时应用中是不可能的。
尽管我知道我的路线,但我的web.php文件中没有任何功能,所有路线都是指控制器。
我试过了web.php
,我收到了这个错误:
php artisan route:cach
任何想法?
答案 0 :(得分:0)
有问题的路线是FrontendController @ showpage路线吗?如果是这样的话:
// Show single product
Route::get('/{productslug}', 'frontend\FrontendController@showproduct')->name('showproduct')->where('productslug', '[\w\d\-\_]+');
// Show single page
Route::get('/{slug}', 'frontend\FrontendController@showpage')->name('showpage')->where('slug', '[\w\d\-\_]+');
这两条路线似乎存在冲突,因为它们具有相同的where()子句,这意味着路线无法区分它们。
解决方案取决于{slug}和{productslug}之间的区别。目前,您只是说任何单词,数字,连字符和下划线的无限组合。
如果你无法用正则表达式区分它们,你应该创建一个新的路由,但这显然会改变URL。
// Show single product
Route::get('/product/{productslug}', 'frontend\FrontendController@showproduct')->name('showproduct')->where('productslug', '[\w\d\-\_]+');