我不明白为什么我的 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
- 转至 Internet 信息服务 (IIS)
- 点击“PHP 管理器”
- 点击“注册新 PHP 版本”
- 找到 php(通常为 C:/Program Files(86)/php-version)
- 选择 php.exe 或 php-cgi.exe