解決IIS不識(shí)別PUT和DELETE請(qǐng)求
restful API對(duì)資源的相應(yīng)操作應(yīng)該被體現(xiàn)成http動(dòng)詞,增刪改查對(duì)應(yīng)動(dòng)詞應(yīng)為post、delete、put、get。
按照思路寫(xiě)出一個(gè)demo以后,運(yùn)行,結(jié)果是這樣的:
好吧,被攔截了,怎么設(shè)置呢?網(wǎng)友們的回答五花八門(mén)——
有刪除webdav模塊的:
<system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
有說(shuō)是因?yàn)闄?quán)限不足造成的,有說(shuō)是因?yàn)轫?yè)面form太多造成的,有說(shuō)是因?yàn)?hellip;………
以上一眾網(wǎng)友不論對(duì)錯(cuò),對(duì)此處問(wèn)題都是無(wú)效的。
其實(shí)關(guān)鍵信息就隱藏在大家都能看得到的地方:
這個(gè)鏈接看過(guò)以后,相信大家心里都有譜了:修改配置。
配置文件在這里:C:\Windows\System32\inetsrv\config\applicationhost.config
需要注意的是該文件無(wú)法直接打開(kāi),先轉(zhuǎn)跳至目錄內(nèi)在進(jìn)行操作即可。
在這個(gè)文件內(nèi)找到handlers標(biāo)記,該標(biāo)記下有所有模塊的配置,修改對(duì)應(yīng)模塊允許的謂詞即可,如:
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="C:\Windows \Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
我這里將PUT和DELETE加了進(jìn)去,運(yùn)行:
可以看到,delete已經(jīng)被支持,put也一樣,同理,如果還有什么謂詞想加進(jìn)來(lái),直接在對(duì)應(yīng)模塊的配置內(nèi)添加即可。
如果還是不可以,請(qǐng)手動(dòng)刪除IIS中的WebDav模塊,如下圖:
到此這篇關(guān)于解決IIS不識(shí)別PUT和DELETE請(qǐng)求的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
相關(guān)文章:
1. 讓網(wǎng)站W(wǎng)indows服務(wù)器之iis支持Webp圖片格式的方法(寶塔)2. IIS7下設(shè)置https主機(jī)名綁定灰色無(wú)法修改問(wèn)題解決3. Microsoft iis服務(wù)器安裝ssl證書(shū)(https)的簡(jiǎn)單方法4. IIS的web.config中跨域訪(fǎng)問(wèn)設(shè)置方法5. IIS服務(wù)器證書(shū)創(chuàng)建與配置小結(jié)(圖文)6. IIS 服務(wù)器下載apk文件報(bào)404錯(cuò)誤的解決方法7. 阿里云服務(wù)IIS搭建Web網(wǎng)站外網(wǎng)無(wú)法訪(fǎng)問(wèn)的解決方法8. IIS站點(diǎn)綁定域名的方法步驟9. windows Server 2019 構(gòu)建IIS服務(wù)器的過(guò)程10. IIS多個(gè)協(xié)議 顯示一個(gè)問(wèn)號(hào)問(wèn)題的修改方法
