我正在尝试使用非英文字符(俄罗斯西里尔字母)的路线,这些路线工作正常:
Route::resource('франшизы/подкатегории', 'Franch\SubCategoryController');
但是当我尝试使用Form::
构造的相同路线并发送表单时,我得到NotFoundHttpException in RouteCollection.php line 161
例外:
// generates: http://localhost:8000/франшизы/подкатегории/20/edit?
{!! Form::open(array('method' => 'Get', 'route' => array('франшизы.подкатегории.edit', $subCategory->id))) !!}
我已经复制粘贴的代码并添加了新的路由,并且Form::
只包含英文字符,效果很好:
// generates: http://localhost:8000/franch/sub/20/edit?
{!! Form::open(array('method' => 'Get', 'route' => array('franch.sub.edit', $subCategory->id))) !!}
Route::resource('franch/sub', 'Franch\SubCategoryController');
我的问题是如何让非英语路线发挥作用?如果不可能,还有哪些替代方案?
答案 0 :(得分:1)
我在四个论坛上问了这个问题,但没有人能够帮助我。我仍然不知道这个问题的最佳解决方案,但我已经做到了:
Route::get('франшизы/подкатегории', 'Franch\SubCategoryController@index')->name('franch_sub_categories_index');
Route::resource('franchises/subcategories', 'Franch\SubCategoryController', ['except' => ['index']]);
它运作得很好。
@index
请求对SEO和URL可读性很重要。希望它对你们中的一些人有所帮助。