【问题标题】:Custom 404 pages not being able to postback due to relative path issues由于相对路径问题,自定义 404 页面无法回发
【发布时间】:2010-10-23 23:42:40
【问题描述】:

我的网站目前实现了我们在 IIS 中映射的自定义 404 页面。因此,当用户执行 www.mysite.com/foo/bar/doesnotexist 之类的操作时,它将执行 404.aspx URL。这很好用,但是在检查返回的 HTML 时,表单发布 URL 是相对的:

<form method="post" action="404.aspx?404%3bhttps%3a%2f%2ftestserver%3a443%2ffoo%2fbar%2fdoesnotexist" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">

如果您仔细观察,操作 URL 正在发布到 404.aspx,但它是一个相对路径,因此如果我们执行回发 www.mysite.com/foo/bar/doesnotexist/404.aspx,它会尝试执行。如何让我执行的 404 页面正确回发? (www.mysite.com/404.aspx)

谢谢。

【问题讨论】:

    标签: postback http-status-code-404 relative-path


    【解决方案1】:

    维克多,

    你的问题是重复的,所以我想你可能会找到你的答案here

    既然你是新来的,希望亲密的纳粹分子能让你放松一下。基本上,当您写一个问题时,应该在您的问题下方弹出一个类似问题的列表。如果您看到一个看起来可以回答您自己的问题,请在发布之前点击链接并查看它。 10 次中有 9 次可能已经回答了您的问题。

    祝你找到答案好运,我认为该链接上应该有很多很好的信息。

    【讨论】:

      【解决方案2】:

      如果您使用 axjx 并将一个页面拉入另一个页面并且页面位于不同的目录中,也会发生这种情况,简单的方法是从您的网站的根目录在页面加载时重写表单操作对象。

      例如

              //Rewirte forms post action. 
              form1.Action = "/{dir}/{currentpage}.aspx?" + Request.QueryString;
      

      【讨论】:

        猜你喜欢
        • 2011-06-13
        • 2017-05-17
        • 2019-01-24
        • 2013-05-06
        • 2015-08-14
        • 2013-08-31
        • 2010-10-07
        • 2016-01-13
        • 1970-01-01
        相关资源
        最近更新 更多