首页 前端知识 VUE项目IIS部署后接口请求405错误(Method Not Allowed)

VUE项目IIS部署后接口请求405错误(Method Not Allowed)

2024-06-25 23:06:31 前端知识 前端哥 801 444 我要收藏

最开始查看接口响应,发现是StaticFileModule 模块报错,网上搜索发现都说是谓词问题,实际我操作其实修改添加POST谓词没有用。

解决方法:添加一个规则,在IIS处理程序映射中或者web.config中直接添加handlers,模块为ServerSideIncludeModule,路径为*.html。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="Handle History Mode and custom 404/500" stopProcessing="true">
          <match url="(.*)" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/" />
        </rule>
      </rules>
    </rewrite>
        <handlers>
            <add name="VuePostByHtml" path="*.html" verb="*" modules="ServerSideIncludeModule" resourceType="Either" />
        </handlers>
  </system.webServer>
</configuration>

如果没有ServerSideIncludeModule模块需要在IIS中安装服务器包含

--------------------------------------------------------------------------------------------------------------------------------

以下仅作个人纪录

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

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

3.WebDev禁用以及删除重启都无法解决这个问题。

4.在官网看文档发现原因1及原因3都不是我这个情况,最后着重落在原因2,StaticFile这个处理程序上面。

访问 Internet Information Services (IIS) 网站时出现 HTTP 错误 405.0 - Internet Information Services | Microsoft Learn

5.按照上面微软网站给出的方法,想用 ASPClassic 这个程序托管,发现我就没有asp,瞎搞一通没用,把IIS设置回退最初的版本。

6.由于之前StaticFile修改一直没有用,ASPClassic也行不通,想着就自己新建一个映射,仔细看看请求路径在index.html上,POST请求。按照这个逻辑新建一个映射,发现可以正常访问了。

7.回过头检查StaticFile文件没有ServerSideIncludeModule模块,在里面添加这个模块之后就会报错,感觉是继承重名或者.NET模式环境问题,不想再研究了,回退对StaticFile的修改。

 参考:

https://learn.microsoft.com/zh-cn/iis/configuration/system.webServer/serversideinclude#overview
https://learn.microsoft.com/zh-cn/iis/get-started/introduction-to-iis/iis-modules-overview
https://www.cnblogs.com/lcxin/p/10851739.html
https://blog.csdn.net/caijunfen/article/details/78741990
https://www.cnblogs.com/hnlong1/p/5228644.html

转载请注明出处或者链接地址:https://www.qianduange.cn//article/13550.html
标签
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!