IIS 7.5 物理路径无扩展名

IIS 7.5 物理路径无扩展名

我不明白为什么我的 PHP 安装请求没有扩展名的物理路径。

请求的 URL http://localhost:80/index

物理路径 C:\inetpub\wwwroot\index

错误信息

PHP 与 phpinfo 配合良好。

web.config 内容(尽管无论根文件夹中是否存在 web.config 文件,错误都不会改变):https://pastebin.com/5E2x3yeP

我尝试过谷歌搜索,但令我惊讶的是,没有找到与没有显示扩展名的物理路径相关的结果。我肯定我在 php.ini 中遗漏了一些愚蠢的东西。任何帮助都非常感谢!

答案1

如果您请求 URL,Web 服务器会执行以下操作:

  • 检查是否存在与 URL 匹配的文件名。如果存在,则将其发送给客户端。
  • 否则,检查是否存在具有此名称的目录。如果存在,则会发生以下情况:
    • 如果该目录中有一个服务器认为是索引文件的文件,它就会显示该文件(这是通常的index.html情况)。
    • 如果不存在但服务器配置为显示目录的内容,它将列出所有文件名。
    • 如果不是,则会显示错误。
  • 如果不存在同名的文件名或目录,也会出现错误(404)。

因此,就您而言,一切都按预期工作,因为您刚刚请求了名称index,但该名称显然不存在。

答案2

  1. 转至 Internet 信息服务 (IIS)
  2. 点击“PHP 管理器”
  3. 点击“注册新 PHP 版本”
  4. 找到 php(通常为 C:/Program Files(86)/php-version)
  5. 选择 php.exe 或 php-cgi.exe

相关内容