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 添加到该列表,问题就解决了。
我有一个 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 添加到该列表,问题就解决了。