1

私はhttp://mysite.comにac#Webアプリケーションを持っています

ユーザーがブラウザを開き、http://mysite.com/anywrongpathと入力します

私がやりたいのは、「正確な」URL(/ anywrongpath)を取得してから、そのユーザーを/MainPage.aspxにリダイレクトすることです。

私はリダイレクトを次のように処理できると思います:

protected void Application_Error(object sender, EventArgs e)
{
    HttpException httpException = Server.GetLastError() as HttpException;
    if (httpException.ErrorCode == 404)
       Response.Redirect("/MainPage.aspx");
}

ただし、入力されたURLの取得プロセスを処理する方法がわかりません。「Sessions」、「Request.ServerVariables」、「Request.Url」などを調べましたが、問題を解決できませんでした。

私はそれをどのように解決するかについてのアイデアを受け入れています、そしてあなたが小さなコードサンプルを与えてくれたら本当にうれしいです、ありがとう

ムラト

4

1 に答える 1

1

web.config ファイルを編集し、system.webセクションに次のようなものを入れます

<customErrors mode="RemoteOnly" defaultRedirect="Error.aspx">
    <error statusCode="404" redirect="MainPage.aspx" />
</customErrors>

ユーザーが mysite.com/non-exist のようなアドレスを入力すると、IIS はユーザーをmysite.com/MainPage.aspx?aspxerrorpath=/non-existant

このようにして、Request.QueryString["aspxerrorpath"]

于 2012-09-28T13:57:24.313 に答える