php - 文件或文件夹存在,但在 IIS Web 服务器中抛出 404
问题描述
我用 F3 框架构建了一个 Web 应用程序。在我的本地(XAMPP)上,一切都很顺利。但是,在我将它上传到服务器(IIS Web 服务器)后,出现了 404 消息 - “文件或文件夹不存在”。我很困惑,可能会导致这个问题的原因。
笔记 :
- 我在 IIS 中创建新站点,根文件夹指向“D:/www/my-project”。
- 默认根文件夹是“C:/inetpub/wwwroot”。
- 有一个域指向 ip 服务器。
- 当我访问域时,会出现第一页。但是切换页面/路由后,下一页抛出404。
解决方案
在根目录创建 web.config 文件并将代码如下(此配置可能因您的应用程序结构而异)
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Application" stopProcessing="true">
<match url=".*" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>