0

我的控制器(家庭)中有如下操作

public function action_test($keyword)
{
    echo $keyword;
}

当我传递没有空格的参数时,它工作正常,如下所示

http://localhost/laravel/home/test/apple

但是当我传递带有空格的参数时,它会给出 404 错误,如下所示

http://localhost/laravel/home/test/green apple

当空间被编码时它甚至不起作用

http://localhost/shop/public/home/test/green+apple

甚至不是这个

http://localhost/shop/public/home/test/green%20apple

有人可以帮我吗

4

3 回答 3

2

使用 (:all) 而不是 (:any) 注册您的路线。

来自Laravel文档:

  • (:any) :允许 URI 段是任何字母数字字符串
  • (:all) : 无限制地捕获剩余的 URI

您的路线可能看起来像这样:

Route::get('home/test/(:all?)', 'home@test');

更多关于 Laravel 论坛的主题在这里

于 2012-12-29T10:10:43.587 回答
1

我不知道这种行为背后的想法,但是 (:any)、(:num) 和 (:any?) 不会接受带空格的字符串。如果您想将字符串传递给您的路线,您应该使用 (:all)。

于 2012-12-27T18:21:26.407 回答
-1

http://www.laravel.com/docs/routing#controller-routing 你必须注册你的控制器的路由,比如:Route::controller('home'); 并检查您的控制器类名称是 Home_Controller,还要扩展 Controller 或 Base_Controller 类。

于 2012-11-28T09:29:24.217 回答