当前位置: 首页 > 知识库问答 >
问题:

直接访问邮政路线时的Laravel重定向

叶鸿
2023-03-14

我向一条路线发出post请求计算车辆,并显示另一个视图,其中包含一些我根据我在发出post请求的表单中输入的数据查询的数据,但当有人直接访问此路线时,我希望重定向到主页。

不幸的是,我经常遇到这样的错误:

Symfony\Component\HttpKernel\Excense\METodNotAlloweHttpExcture没有消息

我的路线:

Route::post('calculate-cars','CarsController@calculateCars');

我知道我得到这个错误,因为我直接访问后路由,但我尝试在我的控制器方法,但我仍然得到相同的错误:

if (!$request->isMethod('post')) {
    return redirect()->to('/');
}

共有3个答案

孙梓
2023-03-14

但当有人直接访问此路径时,我想重定向到主页。

这意味着当用户执行GET

你的路线Route::('计算车','CarsController@calculateCars');

仅允许POST

所以把它改成

Route::any('calculate-cars','CarsController@calculateCars');

房子昂
2023-03-14

您没有解释为什么希望收到POST请求。是否保存计算以节省时间(缓存)?只有在这种情况下,POST才是正确的决定。

除此之外:明智地选择http方法也很重要。

  • 获取:用于读取(无系统更改)

就像我说的,你为什么选择POST?如果要读取,仅更改为GET。MDN对这些方法有一个清晰的总结:https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods

龚志
2023-03-14

添加另一条路线

Route::get('calculate-cars', function () {
    return redirect()->to('/');
});

如果您使用的是Laravel 5.5,您可以这样做:

Route::redirect('/calculate-cars', '/', 301);

更新:方法Route::重定向也将重定向文章路由,这在您的情况下是没有用的。

把这个放在你的路线/网站上。php文件:

Route::get('calculate-cars', function () {
    return redirect()->to('/');
});
 类似资料:
  • 我有一个价格范围搜索滑块。这是为寻找价格之间的范围。它工作得很好。如果我设定一个范围 在我的“添加到购物车”路线中,有一个名为“添加到购物车”的函数,用于将产品添加到购物车 在这种情况下,我面临一个问题“MethodNotAllowedHTTPException”,因为这是一个POST路由。 注意:我的add_to_cart功能正常工作。但面临的问题,而

  • 我使用任何类型的路由,然后在这个方法中,我在请求类型的基础上生成树。 路线 从控制器在检查类型之前我这样检查它

  • 我使用Laravel 5.4的项目和场景是,如果没有任何创建然后在登录重定向到页面。 下面是我的路线页编码 目录结构是 下面是我的code 它重定向了太多次,我收到错误消息说。 我在这里做错了什么??

  • 问题内容: 到目前为止,我们使用了几个Linux用户: system_foo @ server system_bar @服务器 … 我们希望将系统用户放入docker容器中。 linux用户->容器 服务器内部的更改没有问题,但是远程系统使用这些用户向我们发送数据。 我们需要工作。远程系统无法更改。 如果每个linux操作系统只有一个系统(将端口22传递到容器),我将非常容易。但是有几个。 我们如

  • 问题内容: 我正在尝试直接为嵌入式Linux项目访问物理内存,但是我不确定如何最好地指定使用的内存。 如果我定期引导设备并访问/ dev / mem,则可以轻松地对其几乎任何位置进行读写。但是,在这种情况下,我正在访问可以轻松分配给任何进程的内存。我不想做 我的/ dev / mem代码是(删除了所有错误,等等。): 这可行。但是,我想使用没有其他人会碰到的内存。我尝试通过使用mem = XXXm

  • 我有一条基本路线,如下所示: 逻辑是我希望仅为数值。我现在要做的是,如果值是非数字的,则声明对此的重定向。假设的输入是。在这种情况下,我希望它重定向到值为的。 我尝试使用,但无法正常工作。它看起来像这样: 我更愿意将重定向放在组内,但如果这是唯一的方法,它可以放在组外。任何帮助都将不胜感激。 发生的情况是,如果我声明了路由重定向,就会出现404错误。 编辑:我想在文件。我知道如何在控制器中执行此操