我无法在 IIS7 上向我的 Laravel 支持的 API 发出 PUT 和 DELETE 请求。
其他问题的答案已经说过允许将 PUT 和 DELETE 动词映射到 ExtensionlessUrlHandler 处理程序。这对我不起作用,可能是因为 API 是 PHP,并且该处理程序不向 PHP 发送请求?
我通过添加一个新的处理程序使其工作,将 *
映射到 FastCgiHandler
(与映射到 .php
相同) .这使得对 API 的 PUT 和 DELETE 请求有效,但这意味着服务器正在使用 php-cgi.exe
来提供静态内容,这意味着我的样式表没有正确通过。
我不能将处理程序映射只是添加到/api 文件夹,因为路由是通过 Laravel 处理的,所以 没有/api 文件夹来放置web.config 文件。
请求过滤设置为允许所有动词(即使是未列出的动词),并且我没有安装 WebDAV(另外两个常见的解决方案)。
可能是我一开始就设置了不正确的处理程序情况?我不知道;我不是 IIS 方面的专家。
最佳答案
前往 处理程序映射 > PHPXX_via_FastCGI > 编辑(右键单击)> 请求限制 > 动词 并选择“所有动词”(或将 PUT 和 DELETE 添加到列表中)
XX
是您使用的版本(例如我使用 PHP 5.4,所以它是 54
)。
关于php - IIS7/PHP/Laravel 上的 PUT 和 DELETE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19181966/