【问题标题】:Laravel GET moved permanently on POST forms 301Laravel GET 在 POST 表单 301 上永久移动
【发布时间】:2015-09-29 17:01:53
【问题描述】:

我有这个非常奇怪的错误。

每当我尝试在此特定调用中使用表单时,它都会自动对与 GET 完全相同的页面执行 Moved Permanently 301 调用。我不确定是什么原因造成的,但我猜这与 Laravel 处理 URL 的方式有关。

例如我有:

<?php echo Form::open(array('url' =>  'storage/remove/?page=' . $page)) ?>

其中 $page 是一个 _GET 变量。

当我在 FireBug 中运行此页面时,我发现它总是尝试将其重定向到 GET 页面。

我的路线:

Route::any("storage/{id?}", array("uses" => "StorageController@index", "before" => array("auth", "maintenance_check")));
Route::post("storage/remove", array("uses" => "StorageController@remove", "before" => array("auth", "csrf_check", "maintenance_check")));

谁能让我知道我在这个问题上做错了什么?

【问题讨论】:

    标签: php laravel redirect get


    【解决方案1】:

    Perharps 可选的{id} 参数“捕获”/remove 段,因此路由器永远不会触发Route::post()。 您是否尝试将Route::post() 放在Route::any() 之前?

    【讨论】:

      【解决方案2】:

      添加方法post:

      <?php echo Form::open(array('url' =>  'storage/remove/?page=' . $page, 'method' => 'post')) ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-06-23
        • 2021-09-19
        • 2019-11-04
        • 2012-07-10
        • 2012-11-21
        • 2013-09-26
        • 2019-10-14
        • 2018-06-18
        相关资源
        最近更新 更多