问题:我正在我的 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");
在 View 中,我手动生成 URL
<a href="/admin/blocks{{$block->size}}">Link</a>
<form action="/products/new" > </form>
最佳答案
如果您希望 http://localhost/admin
和 http://localhost/en/admin
由相同的 Controller 处理,那么您需要编写 2 套routes.php
中的路由。
这样就有 2 个入口点指向完全相同的应用程序逻辑。
非本地化 url 的第一个入口点:/admin
。第二个将采用一个参数:{lang}/admin
。
关于php - 在 Laravel 5 中为现有 URL 添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29766778/