httpRedirect和自定义错误页面的IIS根站点设置

时间:2019-07-19 05:26:22

标签: asp.net iis http-redirect custom-error-pages

我正在使用ASP.net Web应用程序。

那,当IIS的根(默认网站)上发生异常时,我需要显示一个自定义错误页面。

例如
网址
1. http://xzy <-这是根目录
2. http://xzy/app1/login.aspx <-有效网址
3. http://xzy/app2 <-无效的URL(未托管此类应用程序)

当我在浏览器中输入第一个和第二个URL时,它会将我重定向到登录页面,因为我在根站点上设置了HTTPredirect,如下所示。

<httpRedirect enabled="true" httpResponseStatus="Permanent" destination="http://app1/login.aspx" childOnly="true" exactDestination="true" />

一切正常。

但是当我输入无效的URL时,它可能会向我显示一个自定义错误页面,因为在根站点中也进行了以下设置。

<system.web>
    <customErrors defaultRedirect="404.htm" mode="RemoteOnly"></customErrors>
</system.web>

但是它将我重定向到app1的登录页面。

在这里,没有托管名为app2的应用程序。因此,我认为它应该向我显示404.htm页面,但会将我重定向到“ http://xzy/app1/login.aspx”。

我应该进行哪些更改以防止将任何无效的URL重定向到默认应用程序的登录页面?

下面是IIS上根目录(默认网站)的完整web.config文件。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>    
    <httpRedirect enabled="true" httpResponseStatus="Permanent" destination="http://xyz/app1/login.aspx" childOnly="true" exactDestination="true" />        
  </system.webServer>
  <system.web>
    <customErrors defaultRedirect="404.htm" mode="RemoteOnly"></customErrors>
  </system.web>
</configuration>

谢谢

0 个答案:

没有答案