一个href错误直接默认aspx

时间:2013-01-17 02:40:45

标签: asp.net custom-errors

我有一个网址:120.xxx.xxx.xxx/myfile.pdf,但它不存在

并且它不直接到我的error.aspx

有人可以告诉我发生了什么吗

和我的web.config代码

<customErrors mode="On" defaultRedirect="~/error.aspx">
      <error statusCode="404" redirect="~/error404.aspx"/>
</customErrors>

1 个答案:

答案 0 :(得分:1)

它正在发生,因为这是一个静态文件,默认情况下将绕过ASP.Net并由IIS提供服务。尝试将其添加到web.config的<system.webServer>部分:

<handlers>
      <add name="PDFHandler-Integrated" path="*.pdf" verb="GET"
        type="System.Web.StaticFileHandler" modules="ManagedPipelineHandler"
        requireAccess="Script" preCondition="integratedMode" />
</handlers>

执行此操作将使其通过ASP.Net管道,以便您可以应用其他功能,如身份验证/角色限制。