分析本地主机上的子域

本文关键字:主机 | 更新日期: 2023-09-27 18:03:02

的设置

我正在使用ASP.NET MVC3构建一个应用程序,该应用程序使用子域,我在主机文件中添加了以下内容:127.0.0.1 students.localhost

这一切看起来都很好,当我调试时,浏览器打开localhost:{PORT},我可以浏览网站,我也可以打开:students.localhost:{PORT},网站工作得很好。

如果你想知道,我使用了:Maarten Balliauw的代码来实现MVC和子域中的路由要求

问题

我需要以某种方式找出用户访问网站的子域。如果我调试,我的和转到我的子域:http://students.localhost:{PORT}请求。Url为:http://localhost:{PORT},由于某种原因,deubuger(或ASP.NET Development Server(没有获取students

请不要在TLD讨论中试图解释子域的真正含义,我只需要http://之后的第一个字符串。在本地和生产中,这将是我的子域。

提前Thanx


更新:我通过使用:Request.Headers["host"]成功地获得了所需的结果,如果能找出Request.Url不包含students子字符串的原因,那将是一件有趣的事情。

分析本地主机上的子域

实现这一点的简单方法是在主机中放入一个完全限定的域名。如果生产网站是子域.domain.com,我喜欢使用子域.domain.local并将其映射到127.0.0.1。

new System.Uri(Request.RawUrl).Host

我认为这将是真正的主机名。