2011-07-19 86 views
0

的設置子域名解析localhost上

我建立使用ASP.NET MVC3的應用程序,該應用程序利用子域,我加入我的主機以下文件:127.0.0.1 students.localhost

這一切似乎都很好,當我調試時,瀏覽器打開localhost:{PORT},我可以瀏覽該網站,我也可以打開:students.localhost:{PORT},並且該網站完美工作。

如果你想知道,我利用了:Maarten Balliauw's代碼來實現MVC中的路由需求和子域

的問題

我需要以某種方式找出子域中的用戶正在訪問該網站。如果我調試,我的和去我的子域:http://students.localhost:{PORT} Request.Url是:http://localhost:{PORT},由於某種原因,deubugger(或ASP.NET開發服務器)不拾起students

請不要進入TLD討論區,試圖解釋一個子域是什麼,我需要的僅僅是http://之後的第一個字符串。在本地和生產這將是我的子域。

提前


感謝名單更新: 我設法通過使用來獲得期望的結果:Request.Headers["host"],這將是有趣的,看看爲什麼Request.Url不包含students子。

+0

嘿Dusty,當我在本地檢查Request.Url.Host時,我得到了「學生」子字符串。我沒有做任何特別的事情來做到這一點,所以我不確定爲什麼Request.Url對你來說是空的。我會繼續探索。 –

回答

2

這樣做的簡單方法是在主機中放置一個完全限定的域名。如果生產站點是subdomain.domain.com,我喜歡使用subdomain.domain.local,並將其映射到127.0.0.1。

0
new System.Uri(Request.RawUrl).Host 

我認爲這將是真正的主機名。

+0

Request.RawUrl ='/',我無法找到類似'students'的請求中的任何東西 –