首先,我对IIS很熟悉,但是没有太多实际经验,所以我来这里的原因。
我已经设置了IIS7并将我的HTML网站,脚本等放入wwwroot文件夹中。我可以在本地浏览网站,仅用于测试目的。
我有一个网页,其中包含一个简单的电子邮件表单,其中使用了Matt的脚本存档:FormMail.pl。提交后,我遇到了这个错误:
405 - HTTP verb used to access this page is not allowed.
The page you are looking for cannot be displayed because an invalid method (HTTP verb) was used to attempt access.
我不确定此错误或如何解决此问题,以便电子邮件表单有效。
如果您需要有关此问题的任何其他信息,我会提供尽可能多的信息。
谢谢:)
更新
好的,所以我修改了我的HTML以使用nms脚本。在IIS中,我必须启用CGI和ISAPI,因为它们未安装。安装完成后,我为* .pl,* cgi添加了一个脚本处理程序映射;还为两个处理程序映射添加了动词GET,HEAD和POST。我比用过:
<!DOCTYPE htmlPUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Perl Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>Perl is working!</h1>
</body>
</html>
测试* .pl和* .cgi是否在localhost上运行。
现在是我被卡住的部分......
当我点击提交按钮时,它会将我引导至formmail.cgi(formmail.pl由于某种原因无效)但是它只会将我引导至cgi脚本和空白页。
答案 0 :(得分:1)
405表示您的Web服务器无法识别请求中的HTTP metod(GET,POST,HEAD等)。在你的情况下,我认为默认情况下不允许.pl扩展来处理POST请求。有关创建处理程序映射的信息,请参阅this link(取自here)。
答案 1 :(得分:0)
检查此错误最重要的是控制台窗口中的HTML选项卡。或者如果错误显示在浏览器中,请查看。在任何一种情况下,请查看“请求的URL”的文件类型。
如果是* .json文件,请按照这些说明操作。如果是其他格式,则可能必须调整处理程序映射中使用的exe文件。确保在服务器级别配置每个!!!在单击Mime类型或处理程序映射之前,请勿单击该站点;单击服务器名称(在树/对象资源管理器中),以便每个站点继承设置。如果您在网站上设置了处理程序映射,那么您的web.config将明确应用处理程序映射,但如果您在服务器级别添加它则不会。
http://www.uipress.com/add-json-handler-support-in-iis-7/#.UT_bw9aOR8E
由于您正在处理CGI,因此脚本映射可执行文件略有不同。这至少应该让你走上正轨。