相対パスの問題のためにカスタム404ページがポストバックできない
-
05-07-2019 - |
質問
現在、私のサイトは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)
ありがとう。
解決
ビクター、
あなたの質問は重複しているので、おそらくあなたの答えが見つかると思いますこちら。
あなたはここで新しいので、うまくいけば、ナチスの親密さがあなたにいくらかの緩みを減らすでしょう。基本的に質問を書くとき、あなたの質問のすぐ下にポップアップする同様の質問のリストがあるはずです。自分の質問に答えているように見える質問が表示された場合は、投稿する前にリンクをたどって確認してください。 10回のうち9回は、あなたの質問がすでに回答されている可能性があります。
あなたの答えを見つけるのに幸運、私はそのリンクに多くの良い情報があるはずだと思います。
他のヒント
これは、axjxを使用して1つのページを別のページに移動し、ページが異なるディレクトリにある場合にも発生する可能性があります。
e.g。
//Rewirte forms post action.
form1.Action = "/{dir}/{currentpage}.aspx?" + Request.QueryString;