分析本地主机上的子域
本文关键字:主机 | 更新日期: 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
我认为这将是真正的主机名。