文件或文件夹存在,但在 IIS Web 服务器中抛出 404
File or folder exist, but throws 404 in IIS web server
我用 F3 框架构建了一个 Web 应用程序。在我的本地 (XAMPP) 上,一切顺利。但是,在我将其上传到服务器(IIS Web 服务器)后,出现了消息 404 - "file or folder doen't exist"。我很困惑,是什么原因导致了这个问题。
注:
- 我在 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>
我用 F3 框架构建了一个 Web 应用程序。在我的本地 (XAMPP) 上,一切顺利。但是,在我将其上传到服务器(IIS Web 服务器)后,出现了消息 404 - "file or folder doen't exist"。我很困惑,是什么原因导致了这个问题。
注:
- 我在 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>