response.redirect未重定向到完整域名

时间:2011-02-23 19:49:51

标签: c# asp.net visual-studio redirect response.redirect

我遇到问题重定向到同一个域。

例如,重定向发生在 ServerA.Domain.com/Folder/application.aspx 上。但是,程序会将我重定向到 ServerA / Folder / application.aspx

该应用程序在此域上运行正常,但我不得不重新登录。

如何强制重定向到同一个域?

我正在使用asp.net 3.5

我的重定向看起来如下:

Response.Redirect("/Folder/application.aspx?");

4 个答案:

答案 0 :(得分:2)

如果您只是将波浪号(〜)字符和对ResolveClientUrl的调用添加到重定向怎么办?

Response.Redirect(this.ResolveClientUrl("~/Folder/application.aspx?"));

这会解决问题吗?

答案 1 :(得分:0)

看起来您在子域上尝试重定向到子域上的文件夹。我相信你需要使用完全限定的URL:

Response.Redirect("http://ServerA.Domain.com/Folder/application.aspx?");

正在发生的事情是您的子域名是主站点上的一个文件夹,您可以告诉您的应用重定向到该域名。它不知道你有一个子域设置默认访问该文件夹。

<强>更新 尝试使用HttpContext.Current.Request.Url.xxxxx,然后附加到该{{1}}。这样您就可以获得子域路由并以您想要的格式重定向。

答案 2 :(得分:0)

您可以尝试使用

Server.Transfer("/Folder/application.aspx?");

答案 3 :(得分:0)

ResolveClientUrl 返回当前 url 的相对路径; ResolveUrl 返回绝对路径。因此,如果在另一个文件夹下的用户控件中调用 ResolveUrl 可能会更好地工作:

Response.Redirect(this.ResolveUrl("~/Folder/application.aspx?"));