如何在ASP.NET中更改URL地址?

时间:2011-11-29 12:13:26

标签: asp.net

我有业务要求,我应该在地址栏中显示与实际不同的URL。比如说:我在Hum.com上托管了我的网站。但对于某些用户,此URL应在地址栏中显示为CP.com?它甚至可能吗?

3 个答案:

答案 0 :(得分:1)

执行此操作的唯一方法是,如果您同时控制两个域hum.comcp.com,并且将您的网络服务器配置为cp.com和{{1}的同一应用程序}。

如果是上述情况(您控制两个域),则只需使用hum.com将用户重定向到相应的域即可。

这可以通过Response.Redirect在Apache中轻松完成,我确信IIS提供了相同的功能。

答案 1 :(得分:0)

是的,这是可能的,但它通常在DNS级别完成,而不是在应用程序本身内完成。您希望Hum.com的IP地址解析为与CP.com相同的IP地址。这就是Google协作平台等托管网站的运作方式。

要执行此操作,您需要拥有虚拟域名(即CP.com)的DNS条目,并且您需要确保托管站点能够将CP.com的请求与托管网站相关联。

答案 2 :(得分:0)

这可以通过重定向来完成。

if(fUserOfCP && !HttpContext.Current.Request.RawUrl.Contains("cp.com/")){
 Responce.Redirect(
    HttpContext.Current.Request.RawUrl.Replace("hum.com/", "cp.com/")
 , true);
}

这个代码是个想法,可能最好打破RawUrl,在重定向上检查并重建它以避免文件名上存在主机。 假设这两个名称都属于您,并且您已正确设置了dns。

如果您是第一个想法,则无法在主机名上重写。