无扩展页面请求

时间:2009-12-17 15:08:38

标签: asp.net request

我有一位我们的客户发送了一份涉及我网站的出版物,但是他们使用了错误的地址......他们没有提供页面名称......看起来像这样:

mywebsite.org/Resources/toolkits/bridging

应该是什么时候

mywebsite.org/Resources/toolkits/bridging/default.aspx

有没有办法告诉ASP.NET默认为这个default.aspx,当它看到这种请求时甚至更好,让IIS 7轻松处理这个问题? 这个网站是现场的,所以我希望尽可能避免引入代码。

3 个答案:

答案 0 :(得分:5)

根据其他建议,此使用IIS管理工具在您的网站的IIS配置中完成。

但是,还有另一种选择 - 您可以在实际ASP.NET应用程序的web.config中添加一个部分,允许您直接从应用程序覆盖IIS配置:

<system.webServer>
    <defaultDocument>
        <files>
            <clear />
            <!-- Specify each of your files by order of preference here -->
            <add value="Default.aspx" />
            <add value="Index.aspx" />
            <add value="MyOtherPage.aspx" />
        </files>
    </defaultDocument>
</system.webServer>

但需要注意的是,当IIS管理员无法弄清楚为什么服务器配置不能按照配置方式运行时,它可能有点迟钝。只是因为你可以做某事并不总是正确的。

最后,如果您无法访问IIS服务器或IIS管理员有理由不将Default.aspx添加到IIS配置中的默认文档列表中,无论出于何种原因,您不希望覆盖web.config文件中的IIS配置,然后最快最简单的方法是在该目录中创建一个名为default.asp的文件,其中包含:

<% Response.Redirect("default.aspx") %>

IIS上的默认文档列表中的Default.asp 。代码将自动将调用重定向到正确的页面。这种方法的缺点是性能受到打击 - 每次有人直接或者以其他方式调用default.asp时,重定向都需要发生并且不是免费的。

答案 1 :(得分:4)

在IIS中的网站属性的“文档”选项卡中,您可以指定默认文档。如果您在该计算机上使用.Net2.0或更高版本,则应该已经设置了Default.aspx ....

答案 2 :(得分:4)

奇怪的是,Default.aspx设置为IIS安装中的默认文档;在IIS 7中,该设置位于“HTTP功能”下,称为“默认文档”。将default.aspx添加到该列表中,您应该没问题。

如果没有,您需要添加一个404处理程序,当它看到该URL时重定向。