这是在 Laravel 中搜索的简单代码。 “产品”路线完全没有问题,但是, 当我使用路由“searchproduct”时,浏览器中的网址如下所示:
http://example.com/application/public/product/search?q=red+dead
因此应用程序认为我正在尝试获取路由“product”并将参数 urlkey 作为“search?q=red+dead”发送,这当然会引发错误。
查看
<form method="GET" action="{{ route('searchproduct') }}" >
<input id="q" name="q" class="q" type="text" />
<button type="submit" id="submitButton" class="btn btn-primary">Go</button>
</form>
路线
Route::get('product/{urlkey}','ProductController@index')->name('product');
Route::get('product/search/{q?}','ProductController@search')->name('searchproduct');
请问这个问题如何解决?
最佳答案
定义此顺序的路线
Route::get('product/search/{q?}','ProductController@search')->name('searchproduct');
Route::get('product/{urlkey}','ProductController@index')->name('product');
关于php - 如何解决Laravel路由冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53748216/