POST动词不允许

时间:2013-10-18 09:49:28

标签: html

有点基础,但我尝试了一些方法来解决以下错误但无法获得正确的解决方案。

<!DOCTYPE html>

<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <form  method="post">
            <input type="text" name="query1"></input>
            <input type="text" name="query2"></input>
            <input type="submit"></input>

        </form>
    </body>
</html>

运行时出错: HTTP错误405.0 - 不允许的方法 由于使用了无效的方法(HTTP动词),因此无法显示您要查找的页面。

在IIS的映射中,我添加了POST方法但是没有用! 建议请!

3 个答案:

答案 0 :(得分:3)

以下代码解决了我的问题(这是针对iis上的php)。

  

<强>的web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers accessPolicy="Read, Execute, Script">
            <remove name="PHP55_via_FastCGI" />
            <add name="PHP55_via_FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.5\php-cgi.exe" resourceType="Either" requireAccess="Script" />
            <add name="HTML_via_FastCGI" path="*.html" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.5\php-cgi.exe" resourceType="Either" requireAccess="Script" />
            <add name="HTM_via_FastCGI" path="*.htm" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.5\php-cgi.exe" resourceType="Either" requireAccess="Script" />
        </handlers>
        <security>
            <requestFiltering>
                <fileExtensions>
                    <add fileExtension=".php" allowed="true" />
                </fileExtensions>
                <verbs>
                    <add verb="POST"   allowed="true" />
                    <add verb="GET"    allowed="true" />
                    <add verb="HEAD"   allowed="true" />
                    <add verb="DELETE" allowed="true" />
                    <add verb="PUT"    allowed="true" />
                </verbs>
        </requestFiltering>
    </security>
</system.webServer>

答案 1 :(得分:1)

如果没有看到更多,这可能是各种各样的问题。考虑到这一点,这里列出了您的问题的可能修复程序:

原因1

  

发生此问题是因为客户端通过使用发出HTTP请求   一种不符合HTTP规范的HTTP方法。

     

要解决此问题,请参阅解决方案1.

原因2

  

发生此问题是因为客户端通过发送发出HTTP请求   POST方法到配置为由。处理的页面   StaticFile处理程序。例如,客户端将POST方法发送给a   静态HTML页面。但是,为。配置的页面   StaticFile处理程序不支持POST方法。

     

要解决此问题,请参阅解决方案2.

决议1

  

确保客户端发送包含有效HTTP的请求   方法。为此,请按照下列步骤操作:

     
      
  1. 单击“开始”,在中键入“记事本”   在“开始搜索”框中,右键单击“记事本”,然后单击“运行方式”   管理员。
  2.   
  3. 注意如果系统提示您输入管理员密码或提示输入   确认,输入密码或提供确认。在文件上   菜单,单击“打开”。在“文件名”框中,键入   %windir%\ system32 \ inetsrv \ config \ applicationhost.config,然后   单击打开。
  4.   
  5. 在ApplicationHost.config文件中,找到   标签。
  6.   
  7. 确保所有处理程序都使用有效的HTTP方法。
  8.   
  9. 保存ApplicationHost.config文件。
  10.   

决议2

  

将POST请求发送到配置为由a处理的页面   除StaticFile处理程序之外的处理程序(例如,ASPClassic   处理程序)。或者,更改正在处理的请求   StaticFile处理程序,以便它是一个GET请求而不是POST   请求。

MSDN Source

答案 2 :(得分:0)

在我看来,你有2个错误: 1)如果您的文件扩展名是* .html,请将其更改为例如 * .asp,* .php ,它将起作用。 2)input标记没有结束标记。