首页 > 代码库 > 405 Method Not Allowed

405 Method Not Allowed

今天在发布一个网站的时候遇到 标题上的问题,一直不明白是为何,刚开始以为是我的程序写的有问题,随即将项目发给同事来发布试试,在他的IIS上发布却没出现问题,一切正常,这可就怪了,于是想到了应该是IIS配置问题,并向另一个同事请教(他工作经验丰富),只见他三下五除二 几下就给弄好了,最后我仔细想了一下步骤总算明白了其中原理,现在就来和广大同志们分享。(建议使用火狐浏览器安装firbug后做图片中的测试

首先来看一下我写的页面和错误:

原本在VS2010中运行时正常的,页面中也会出现我需要的数据,可是发布到IIS上就报这个错误,翻译过来的意思是:(方法不被允许),于是如下图方法进行问题跟踪:右键第一个红色方框,选择第二个红色方框:弹出如下图:

根据提示:我百度了一下红色方框的内容,得出的结论是:一般IIS默认能处理静态的htm,html文件 ,以及动态的脚本 asp,aspx 文件,如果要处理php或其他类型的脚本语言,你必须做好ISAPI映射,于是打开IIS如图:

找到红色方框部分,双击进入,如下图:

看到红色框 这一列,下面的*.XXX,表示后缀,我的理解就是上面提到的HTTP谓词,其中没有*.ashx的路径,所以IIS无法识别程序中的一般处理程序(*.ashx),因此就报了标题中的错误,那么如何添加呢?步骤如下:

1:控制面板——>2:程序和功能——>3:打开或关闭Windows功能——>:

点击确定:重启IIS后双击“处理程序映射”你会发现如图:

就有了后缀为*.ashx的路径了,再次打开页面,一切正常。

其实在发布时还遇到了另外的两个问题:此时就不一一介绍了,如果还有什么问题,可以给我留言,能帮忙的我会尽量去帮(*^__^*) 嘻嘻……