我有一个在 NT Server 2008、IIS 7.0 上运行的 asp.net 3.5 应用程序。
我想将多个域指向这个单一网站(这很容易做到),但也希望应用程序知道用户来自哪个域,并始终将该域保留在地址栏中,以便我的每个客户端都可以获得该 Web 应用程序的“品牌”/定制视图,即使其下运行的是相同的代码。
实现这个的一般方法是什么?
答案1
您实际上不需要做任何事情。如果网站响应多个域,则用户在网站中逐页浏览时将在地址栏中看到相同的域名。
如果您有需要针对每个不同域进行更改的特定文本,您可以随时使用以下命令获取当前域的值:
HttpContext.当前请求.Url.主机
然后根据需要在您的网站代码中使用该值。
要查看多域名网站的示例,请查看我的网站。您将看到我如何根据用户来自的域名更改页眉中的电子邮件地址。
尝试http://www.fileupdown.com首先。然后尝试http://www.noonmarktech.com
希望这可以帮助。
答案2
Fred 的回答和示例是正确的。但是,在服务器端页面上使用某些案例逻辑,您也可能获得完全不同的体验。您可以根据域、样式表交换导航,并设置服务器变量来控制站点的各个方面。内容需要分开保存,但这可以通过站点导航来处理。