商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 解决VUE项目IIS部署后接口请求405错误问题(MethodNotAllowed)

解决VUE项目IIS部署后接口请求405错误问题(MethodNotAllowed)

  发布于2026-07-23 阅读(0)

扫一扫,手机访问

VUE项目IIS部署后接口请求405错误

最开始查看接口响应,发现是StaticFileModule模块报错。网上搜了一圈,都说这是谓词问题,但实际操作下来,单纯添加POST谓词根本不管用。

解决VUE项目IIS部署后接口请求405错误问题(MethodNotAllowed)

解决方法

其实只要在IIS处理程序映射中(或者直接在web.config里)添加一个规则:模块选ServerSideIncludeModule,路径设为*.html。具体配置如下:

                                                                                                                                    

如果IIS里没有ServerSideIncludeModule这个模块,需要先安装“服务器包含”功能。

解决VUE项目IIS部署后接口请求405错误问题(MethodNotAllowed)

以下仅作个人纪录

1. 打开IIS,找到处理程序映射,把StaticFile请求程序映射里的谓词改成全部,发现没用。

2. 修改.NET管道托管模式,也不起作用。一直在折腾程序映射,发现只要修改了StaticFile,模式条目类型就会由“继承”变成本地。

3. WebDev禁用、删除、重启,都解决不了。

4. 去官网看文档,发现原因1和原因3都不是我的情况,最后重点落在原因2——StaticFile这个处理程序上。
参考链接:HTTP 错误 405.0 - Internet Information Services | Microsoft Learn

解决VUE项目IIS部署后接口请求405错误问题(MethodNotAllowed)

5. 按照微软给出的方法,想用ASPClassic这个程序托管,结果发现服务器上压根没有asp,瞎搞一通没用,最后把IIS回退到最初版本。

6. 既然StaticFile修改一直无效,ASPClassic也行不通,那就自己新建一个映射。仔细看请求路径,发现请求落在index.html上,而且是POST请求。顺着这个思路新建一个映射,居然正常访问了。

7. 回过头检查StaticFile,发现它没有ServerSideIncludeModule模块。添加这个模块之后就会报错——可能是继承重名或者.NET模式环境问题,不想再深究了,直接回退对StaticFile的修改。

解决VUE项目IIS部署后接口请求405错误问题(MethodNotAllowed)

总结

这个问题的本质是IIS默认的StaticFile处理程序不支持POST请求,而Vue项目在History模式下,刷新页面或POST请求都会落到index.html上。通过添加一个由ServerSideIncludeModule处理*.html的映射,就能绕开StaticFile的限制。希望这个踩坑记录能帮到遇到同样问题的朋友。

本文转载于:https://www.jb51.net/javascript/3555735jf.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注