2

我无法在 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 专家。

任何见解将不胜感激。

4

1 回答 1

8

转到处理程序映射 > PHPXX_via_FastCGI > 编辑(右键单击)> 请求限制 > 动词并选择“所有动词”(或将 PUT 和 DELETE 添加到列表中)

XX您正在使用的版本在哪里(例如我使用 PHP 5.4 所以它是)54

于 2013-10-04T13:10:24.937 回答