问题:我正在我的Web应用程序中实现本地化功能,但是应用程序处于开发中期,因此不要重写< form action =“”>中的所有链接.和< a href =“”>我需要一个解决方案,只需在/ en /或/ es /等所有其他路由之前添加前缀tu URL,但该应用程序会将/ localhost / en /视为localhost /.
要清除像< a href =“/ admin”>这样的链接正如http://localhost/admin所宣传的那样,我需要它像http://localhost/en/admin一样工作
我不知道哪些代码是任何帮助,所以我会根据请求添加代码.
route.php看起来像这样
<?php Route::get('/','HomeController@index'); Route::get('admin/blocks/{size}',"AdminController@getBlocks"); Route::get('admin/del-block/{id}',"AdminController@getDelBlock"); Route::controllers([ 'admin' => 'AdminController','auth' => 'Auth\AuthController','password' => 'Auth\PasswordController','products' => 'ProductsController' ]); Route::get('/{slug}',"HomeController@getPage"); Route::get('/{slug}/{subslug}',"HomeController@getPage");
在视图中我手动生成URL
<a href="/admin/blocks{{$block->size}}">Link</a> <form action="/products/new" > </form>
解决方法
如果您希望http:// localhost / admin和http:// localhost / en / admin由相同的控制器处理,那么您需要在routes.php中编写2组路由.
这种方式有两个完全相同的应用程序逻辑的入口点.
非本地化网址的第一个入口点:/ admin.第二个将采用参数:{lang} / admin.