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

标签 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");

在 View 中,我手动生成 URL

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

最佳答案

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

这样就有 2 个入口点指向完全相同的应用程序逻辑。

非本地化 url 的第一个入口点:/admin。第二个将采用一个参数:{lang}/admin

关于php - 在 Laravel 5 中为现有 URL 添加前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29766778/

相关文章:

php - 从 PHP 使用 DOTNET 时遇到问题。

php - Laravel:以表单元素名称为键获取表单字段错误

php - 拉维尔 : Increase time on second time login attempts

php - Laravel 从哪里得到 references() 方法?

以特定方式将 PHP CSV 转换为数组

php - MySQL子查询,获取2个最近的类型行

php - 如何使用 PHP 为每个注册用户提供他们自己的 url?

javascript - 无限滚动 jQuery 和 Laravel 5 分页

mysql - 如何从 Laravel 中的连接查询中选择特定模型

mysql - 表单选择存储 ID 而不是 NAME