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

时间:2015-04-21 08:27:11

标签: php laravel laravel-5

问题:我正在我的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");

在视图中我手动生成网址

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

1 个答案:

答案 0 :(得分:1)

如果您希望http://localhost/adminhttp://localhost/en/admin由相同的控制器处理,那么您需要在routes.php中编写2组路由。

这样,有两个完全相同的应用程序逻辑的入口点。

非本地化网址的第一个入口点:/admin。第二个是参数:{lang}/admin

相关问题