【问题标题】:Laravel: MethodNotAllowedHttpException only on production serverLaravel:MethodNotAllowedHttpException 仅在生产服务器上
【发布时间】:2018-07-30 19:09:20
【问题描述】:

我已经阅读了laravel throwing MethodNotAllowedHttpException,并且我知道在发布到 GET 路由时经常会出现此错误,但我确信我正在发布到 POST 路由。

这也适用于我的语言环境 Homestead 版本,但它不适用于我的 apache 生产服务器。

Laravel 日志文件中没有任何内容。

这是错误:

如果仔细看看有GETPOST,我不确定请求是否有问题:

这是从刀片文件开始的(我没有使用 JS,它是一个纯 HTML 的表单):

<form action='/users/update/' method='post' id='contactForm'>

                {{ csrf_field() }}
                <h2>
                @lang('list.memb_4')
                <input type="submit" class="savebutton" id='contactButton' value="@lang('list.default_41')"></h2>

有什么可能导致此错误的建议吗?

【问题讨论】:

  • 也许您在 .htaccess 上阻止了 POST,您检查了吗?
  • 你没有任何从带有斜线的 url 到不带斜线的 url 的重定向吗?这可能是发布请求问题的原因。
  • 您能否显示您的路线文件代码,您可能只接受这条路线的获取请求。
  • 请发邮件给你web.php。您是否尝试更新单个用户?
  • @Pavel 谢谢!就是这样!一个小斜线阻止了一切……天哪。谢谢。

标签: php http post laravel-5 httpverbs


【解决方案1】:

我必须改变

<form action='/users/update/' method='post' id='contactForm'>

<form action='/users/update' method='post' id='contactForm'>

在我的web.php 文件中我也使用

Route::post('/users/update', 'UserController@update');

我不知道为什么 - 但在我的测试服务器 Homestead 上这没有问题,但在我的生产服务器上这是一个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 2012-02-19
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多