23

我正在尝试为 IIS 7.5 网站配置默认网页。

请求过滤已打开。但是允许使用 .aspx 页面,我已将 default.aspx 设置为网站的默认页面。

如果我浏览到 localhost/default.aspx,我会按预期得到一个网页。

如果我浏览到本地主机/我得到

HTTP 错误 404.7 - 未找到 请求过滤模块配置为拒绝文件扩展名。

有任何想法吗?

4

4 回答 4

28

看起来请求过滤实际上是在过滤空白文件名。因此,您必须将其添加到 web.config 中的请求过滤块中:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <security>
      <requestFiltering>
        <fileExtensions allowUnlisted="true">
          <remove fileExtension="." />
          <add fileExtension="." allowed="true" />
        </fileExtensions>
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>

现在很明显,但我真的认为这是一个巨大的陷阱。


更多信息:IIS 7 不提供文件 - 404.7 错误

于 2012-11-22T09:18:59.673 回答
2

您可以通过添加解决:

<requestFiltering>
    <fileExtensions allowUnlisted="true">
        <remove fileExtension="." />
        <add fileExtension="." allowed="true" />
    </fileExtensions>
</requestFiltering>

到您的 Web.Config 文件

于 2018-02-06T17:33:41.933 回答
1

您可以通过将文件扩展名添加到 IIS 的请求过滤模块中来解决此问题。

于 2017-01-01T05:31:31.853 回答
0

请务必从页面上的按钮中删除任何PostBackURL="MyPage.aspx"。我的猜测是,当包含 postbackurl 时,IIS 认为它将页面作为文件获取。它默认拒绝 .aspx 文件类型。您可以在页面错误中看到这一点。

不好:创建 404.7(注意 PostBackURL)

<asp:FileUpload runat="server"  ID="uplReplaceFile" ToolTip="Update this file" />

 <asp:Button runat="server" PostBackUrl="MyPage.ascx"  ID="bnHiddenFileUploadListener" OnClick="bnHiddenFileUploadListener_OnClick" />

好:没有错误

<asp:FileUpload runat="server"  ID="uplReplaceFile" ToolTip="Update this file" />

 <asp:Button runat="server" ID="bnHiddenFileUploadListener" OnClick="bnHiddenFileUploadListener_OnClick" />
于 2018-07-18T18:45:00.917 回答