asp.net – 访问IIS7 404重定向页面中的原始URL

栏目: ASP.NET · 发布时间: 7年前

内容简介:我有一个.aspx页面作为IIS 7上设置的站点上的自定义404页面.我需要检索用户尝试访问的原始URL,以便在404页面上进行一些处理.诀窍是,我需要专门处理不包含.aspx扩展名(例如http://example.com/testurl)的404,这不会通过ASP.NET的自定义错误部分路由.我可以配置IIS来指向我的自定义404,但是在这一点上,我不知道如何获取我的原始URL?有人知道这是否可行?谢谢,麦克风

我有一个.aspx页面作为IIS 7上设置的站点上的自定义404页面.我需要检索用户尝试访问的原始URL,以便在404页面上进行一些处理.诀窍是,我需要专门处理不包含.aspx扩展名(例如http://example.com/testurl)的404,这不会通过ASP.NET的自定义错误部分路由.我可以配置IIS来指向我的自定义404,但是在这一点上,我不知道如何获取我的原始URL?有人知道这是否可行?

谢谢,

麦克风

是的,可以获得导致404错误的URL,您只需要确保IIS配置正确.

有两种情况需要处理,一种是来自.aspx或由.NET处理的其他页面的错误,另一种是错误来自不良文件夹(如您的问题http:/ /example.com/testurl)或不由.NET处理的文件名(例如* .htm).在IIS 7中,您需要在Web应用程序的“ASP.NET”部分中的“.NET错误页面”下,以及“IIS”部分的“错误页面”下配置自定义404错误. web.config更改最终看起来像这样:

<system.web>
    <!-- other system.web stuff -->
    <customErrors defaultRedirect="/Error404.aspx" mode="On" redirectMode="ResponseRewrite">
        <error redirect="/Error404.aspx" statusCode="404" />
    </customErrors>
</system.web>
<system.webServer>
    <!-- other system.webServer stuff -->
    <httpErrors errorMode="Custom">
        <remove statusCode="404" subStatusCode="-1" />
        <error statusCode="404" prefixLanguageFilePath="" path="/Error404.aspx" responseMode="ExecuteURL" />
    </httpErrors>
</system.webServer>

注意:如果您希望404页面实际返回404个邮件,并且我认为不能通过IIS进行设置,上面列出的redirectMode =“ResponseRewrite”很重要.

在我的例子中,我创建了一个名为Error404.aspx的页面来处理所有404错误.当.NET页面(.aspx等)抛出404异常时,原始文件名可以在aspxerrorpath querystring变量中找到.当常规的htm或其他页面导致404错误时,可以从Request.RawUrl属性读取原始路径.我在我的Error404.aspx页面中使用以下代码来处理这两种情况:

public partial class Error404 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        OriginalUrl = Request.QueryString["aspxerrorpath"] ?? Request.RawUrl;
        Server.ClearError();
        Response.Status = "404 not found";
        Response.StatusCode = 404;
    }

    public string OriginalUrl { get; private set; }
}

默认情况下,404错误页面不会返回404状态代码,因此您需要手动设置.详见 this post .

http://stackoverflow.com/questions/5070695/accessing-original-url-in-iis7-404-redirect-page


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法引论

算法引论

[美]乌迪·曼博(Udi Manber) / 黄林鹏、谢瑾奎、陆首博、等 / 电子工业出版社 / 2010-1 / 36.00元

本书是国际算法大师乌迪·曼博(Udi Manber)博士撰写的一本享有盛誉的著作。全书共分12章:第1章到第4章为介绍性内容,涉及数学归纳法、算法分析、数据结构等内容;第5章提出了与归纳证明进行类比的算法设计思想;第6章到第9章分别给出了4个领域的算法,如序列和集合的算法、图算法、几何算法、代数和数值算法;第10章涉及归约,也是第11章的序幕,而后者涉及NP完全问题;第12章则介绍了并行算法;最后......一起来看看 《算法引论》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具