我有业务要求,我应该在地址栏中显示与实际不同的URL。比如说:我在Hum.com上托管了我的网站。但对于某些用户,此URL应在地址栏中显示为CP.com?它甚至可能吗?
答案 0 :(得分:1)
执行此操作的唯一方法是,如果您同时控制两个域hum.com
和cp.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。
如果您是第一个想法,则无法在主机名上重写。