Symfony HTTP PUT 2.6 异常行为 (404)

Symfony HTTP PUT 2.6 strange behaviour (404)

我有一个 Symfony 2.6 设置,我想添加一个 HTTP PUT 请求。 我所有的 POST 和 GET 请求都在工作,但是 PUT 我得到了 404。

HTTP GET 请求:http://example.com/dfsfdfsfd 响应:找不到“GET /dfsfdfsfd”的路由:方法不允许(允许:PUT)(405 方法不允许)

不错!这就是我所期望的,只允许 PUT。

HTTP PUT 请求: 响应:服务器返回“404 Not Found”。 这似乎很奇怪,一个 HTTP GET 请求告诉我该方法不被允许,然后我用 PUT 方法执行相同的请求并收到 404 错误。

我在 http://symfony.com/doc/current/cookbook/routing/method_parameters.html 上阅读了一些关于浏览器兼容性的内容,但这似乎只是针对 HTML 形式限制。

我还检查了我的配置文件并找到了一个允许 PUT 请求方法的 nelmio_cors 配置密钥。 代码:

nelmio_cors:
    paths:
        '^/':
            allow_origin: ['*']
            allow_headers: ['*']
            allow_methods: ['POST', 'PUT', 'GET', 'DELETE','OPTIONS']
            max_age: 3600

在这种情况下我做错了什么?这是我缺少的设置吗?

找到了,与 Symfony 无关! 是服务器配置问题(不接受 HTTP PUT)。

在我的 Apache 配置中找到。 将 PUT 添加到该列表,问题就解决了。