在Laravel 5中为现有URL添加前缀

问题描述:

问题:我在我的Web应用程序中实现了本地化功能,但该应用程序正处于开发中,因此为了不重写<form action=""><a href="">中的所有链接,我需要一个解决方案只会在所有其他路线(如/ en /或/ es /)之前添加前缀tu URL,但该应用程序会将/ localhost/en /视为localhost /。在Laravel 5中为现有URL添加前缀

要clearify像<a href="/admin">链接工作为标榜http://localhost/admin,我需要它的工作就像http://localhost/en/admin

我不知道是什么的代码片段,是任何帮助,所以我会要求添加代码。

route.php看起来像这样

<?php 

Route::get('/', '[email protected]'); 
Route::get('admin/blocks/{size}', "[email protected]"); 
Route::get('admin/del-block/{id}', "[email protected]"); 


Route::controllers([ 
    'admin' => 'AdminController', 
    'auth' => 'Auth\AuthController', 
    'password' => 'Auth\PasswordController', 
    'products' => 'ProductsController' 
]); 
Route::get('/{slug}', "[email protected]"); 
Route::get('/{slug}/{subslug}', "[email protected]"); 

和意见我手动生成

<a href="/admin/blocks{{$block->size}}">Link</a> 
<form action="/products/new" > </form> 
+0

下面是添加本地化的一个很好的示例https://laracasts.com/discuss/channels/tips/example-on-how-to-use-multiple-locales-in-your-laravel-5-website – Kamran

+0

@ KamranAdil做了所有这一切,但没有帮助,所有路线仍然被打破 – Subject

+0

您必须提供更多信息。你有什么尝试?向我们展示您的路线文件以及如何在您的视图中生成您的网址。 –

网址,如果你想http://localhost/adminhttp://localhost/en/admin由相同的控制器来处理,那么你需要写在routes.php有2套路线。

这种方式有2个切入点完全相同的应用程序逻辑。

非本地化网址的第一个入口点:/admin。其次将采取一个参数:{lang}/admin

+0

但是/ en /可以是任何ISO 2字符的国家代码,这是不合逻辑的,我需要X套路线?如果语言增加动态性,那么它甚至不可能 – Subject