2015-07-28 60 views
1

我有一個Symfony 2.6安裝程序,我想添加一個HTTP PUT請求。 我所有的POST和GET請求工作,但PUT我得到一個404Symfony HTTP PUT 2.6奇怪的行爲(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 

我在這種情況下做錯了什麼?這是我失蹤的一個設置嗎?

回答

0

發現它,與Symfony無關! 是服務器配置問題(不接受HTTP PUT)。

在我的Apache配置中找到。 PUT添加到列表中,並解決了問題。