首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IIS 10 StaticFile处理程序妨碍PHP默认文档的自定义谓词

IIS 10 StaticFile处理程序妨碍PHP默认文档的自定义谓词
EN

Server Fault用户
提问于 2017-12-15 16:03:26
回答 1查看 710关注 0票数 0

我正在尝试启用IIS 10以允许PHP中的自定义谓词。我已经启用了PHP_via_FastCGI,可以接受所有动词。当我指定完整的路径(包括最后的index.php )时,这是正确的。

问题是当我没有在URL端点中指定index.php时。在这种情况下,似乎由StaticFile处理程序接管,我得到了引用StaticFile处理程序的以下错误:

代码语言:javascript
运行
复制
HTTP Error 405.0 - Method Not Allowed
The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.

StaticFile处理程序也被设置为允许所有谓词。

还值得注意的是,在我的调查期间,除了PHP_via_FastCGI和StaticFile之外,我还删除了站点的所有其他处理程序,用于任何引用*路径的操作。WebDav也未安装。我的Web.config基本上是空白的。我拥有对服务器的完全管理员访问权限。

是否有另一种方法来配置PHP_via_FastCGI处理程序以处理默认文档,从而删除StaticFile处理程序?或者StaticFile中是否有我缺少的配置?

谢谢你的帮忙!

EN

回答 1

Server Fault用户

发布于 2017-12-15 20:14:41

我不确定这是否是最好的方法,但是我已经通过在StaticFile中禁用Web.config处理程序和添加一个Web.config重写规则来解决这个问题。乍一看,这似乎是可行的。

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpErrors errorMode="Detailed" />
    <handlers>
        <remove name="StaticFile"/>
    </handlers>
    <rewrite>
            <rules>
            <rule name="Lang-Redirect">
                    <match url="(.*)$" />
                    <action type="Rewrite" url="{R:1}/index.php" />
            </rule>
            </rules>
    </rewrite>
    </system.webServer>
</configuration>
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/888325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档