Laravel 5.5错误405(不允许使用方法)XHR PUT方法现已在Azure服务器上运行

时间:2018-09-19 03:30:47

标签: laravel azure http-status-code-405

我已在装有PHP 7的Azure Web服务器上安装了Laravel 5.5。 除XHR PUT METHOD之外,其他请求方法也能正常工作。它在控制台上返回错误消息: 405(不允许使用方法)和XHR网络预览:由于使用了无效的方法(HTTP动词),因此无法显示正在查找的页面

我已经允许在web.config个文件上使用 PUT方法

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
 <system.webServer>
 <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/>
 <staticContent>
 <remove fileExtension=".svg" />
 <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
 <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
 <clientCache httpExpires="Sun, 29 Mar 2020 00:00:00 GMT" cacheControlMode="UseExpires" />
 </staticContent>
 <httpProtocol>
 <customHeaders>
 <add name="Strict-Transport-Security" value="max-age=31536000; includeSubDomains"/>
 <add name="Access-Control-Allow-Origin" value="*" />
 <add name="Access-Control-Allow-Headers" value="X-Requested-With,Content-Type" />
 <add name="Access-Control-Allow-Methods" value="POST,GET,OPTIONS,DELETE,PUT,PATCH" />
 </customHeaders>
 </httpProtocol>
 <rewrite>
 <rules>
 <rule name="Laravel5" stopProcessing="true">
 <match url="^" ignoreCase="false" />
 <conditions logicalGrouping="MatchAll">
 <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
 <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
 </conditions>
 <action type="Rewrite" url="index.php" appendQueryString="true" />
 </rule>
 </rules>
 </rewrite>
 <security>
      <requestFiltering>
        <requestLimits maxQueryString="10000" />
      </requestFiltering>
    </security>
 </system.webServer>
</configuration>

请帮助我。 谢谢

1 个答案:

答案 0 :(得分:0)

我通过这个问题找到了答案。通过将此代码添加到 system.Webserver

来stackoverflow.com/a/25171782/2544756
<handlers>
    <remove name="PHP71_via_FastCGI" />
    <add name="PHP71_via_FastCGI" path="*.php" verb="GET,PUT,POST,DELETE,HEAD,OPTIONS,TRACE,PROPFIND,PROPPATCH,MKCOL,COPY,MOVE,LOCK,UNLOCK" modules="FastCgiModule" scriptProcessor="D:\Program Files (x86)\PHP\v7.1\php-cgi.exe" resourceType="Either" requireAccess="Script" />
</handlers>

但是我需要将PHP版本更改为7.1 希望它