一个解决方案中两个网站之间的重定向(ASP.NET + VS 2008 + IIS 5.1)

时间:2009-11-24 00:09:57

标签: asp.net visual-studio-2008 iis redirect

我遇到了在一个VS解决方案中从一个asp网站重定向到另一个网站的问题。 我已经设置了如下虚拟目录: C:\ WebSites \ Website1 - / Website1 C:\ WebSites \ Website2 - / Website2 我的首发网站是Website1。我想将用户重定向到Website2。我使用Response.Redirect(“/ Website2 / Default.aspx”)并得到404错误。 我究竟做错了什么? 任何建议都非常感谢! 提前谢谢。

3 个答案:

答案 0 :(得分:1)

让我们说当前页面是

   http://localhost/Website1/Default.aspx,

如果你像这样进行重定向

   Response.Redirect("/Website2/Default.aspx")

在那里,您重定向的URL是

    http://localhost/Website1/WebSite2/Default.aspx

不存在。

您必须重定向到完整的网址而不是相对网址。

像是一样的东西      Response.Redirect(“http://localhost/Website2/Default.aspx”)

希望它有助于

答案 1 :(得分:1)

您始终可以从HttpRequest.UrlHttpRequest.ServerVariables个对象中选择服务器名称。

Response.Redirect(string.Format("http://{0}/WebSite2/default.aspx", 
                                Request.Url.Host));

或者

Response.Redirect(string.Format("http://{0}/WebSite2/default.aspx", 
                                Request.ServerVariables["HTTP_HOST"]));

这将为您节省硬编码重定向中的服务器名称。

答案 2 :(得分:0)

当您有两个虚拟目录时,如果它们被配置为自己的应用程序,那么它们的各个根被视为根目录,您将不得不重定向到完整的URL。