无扩展页面请求

Mr *_*unn 0 asp.net request

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

mywebsite.org/Resources/toolkits/bridging

什么时候应该

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

有没有办法告诉ASP.NET默认为这个default.aspx,当它看到这种请求或甚至更好,有IIS 7轻松处理这个?这个网站是现场的,所以我想避免在可能的情况下引入代码.

Ben*_*ter 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>
Run Code Online (Sandbox Code Playgroud)

但是,当IIS管理员无法弄清楚为什么服务器配置不像他配置的那样工作时,它可能有点迟钝.仅仅因为你可以做某事并不总是正确的.

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

<% Response.Redirect("default.aspx") %>
Run Code Online (Sandbox Code Playgroud)

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