2015-06-06 109 views
0

編輯不同的內部IIS站點:唉,我忘了把這個服務器故障...重定向/重寫使用查詢字符串

我有承載Web應用程序的Azure的VM。

的應用程序是通過虛擬機的IP地址訪問:

http://191.238.112.62 

我希望能夠使用查詢字符串來重定向到完全不同的網站,是當地 IIS中。例如:

http://191.238.112.62/?site=1 

會重定向到

www.site1.com 

我已經結構化的IIS可以看到下面的方法:

enter image description here

每個站點都有在系統主機文件中的條目。

127.0.0.1 wwww.site1.com 
127.0.0.1 wwww.site2.com 
127.0.0.1 wwww.site3.com 

有可能是一個更好的方式來實現我要去這裏所以任何指針將不勝感激。

謝謝。

回答

0

這是我該怎麼做的。不知道爲什麼你想爲此使用查詢字符串,因爲如果您正確配置它,IIS會這樣做。

在您的DNS服務器中註冊您的所有網站以指向該IP。這是當你去住的時候。爲了開發主機文件是一個很好的解決方案。

當您創建的網站添加主機頭像下面like this

現在試圖通過他們的全名加載任何網站

http://www.site1.com 
http://www.site2.com 
http://www.site3.com 

Here是有關IIS主機頭的詳細信息。

同樣,當您上線時,請確保您已爲所有網站設置了DNS,以指向您的服務器的IP地址。

希望這會有所幫助。

編輯基於評論:

右,這裏是我在過去的解決了這個。 您可以使用主機文件完成所有這些工作,但如果您擁有合適的DNS服務器來解析名稱,那麼這將不那麼痛苦。

基本思想是在本地機器上使用稍微不同的URL進行開發。 所有的開發者都會將site1.com指向共享服務器的IP,site1.com.local指向127.0.0.1。所以開發者機器上的hosts文件看起來像什麼:

191.238.112.62 www.site1.com 
127.0.0.1  www.site1.com.local 

在所有的開發機器,你需要確保你有所有站點。本地主機頭。

在共享服務器上,您只需添加正確的主機標題並且不需要更改主機文件。更改服務器主機文件實際上是一個糟糕的主意。

+0

感謝您的回覆。我想我可能沒有足夠徹底地解釋我的問題。每個網站都沒有自己的公共領域。目的在於讓單個開發人員擁有自己的沙箱,並且這些沙箱的中央入口點將是VM的IP地址。 –

+0

你的編輯工作很好 - 不知道我是如何忽略這一點,爲我學習曲線!現在要進一步研究這個問題,是否可以設置一個dev可以使用的公共DNS?所以這顯然會做主機文件,但不需要手動更改和設置單個主機文件。 –

+0

這是可能的,但你需要購買所有的域名,site1,site2等。一旦你擁有這些名稱,你可以改變DNS條目來指向你的IP。另一種解決方案是購買頂級域名site.com,然後爲每個網站設置子域名,如sub1.site.com,sub2.site.com等。一個不錯的公共DNS解決方案是dnsimple https://dnsimple.com/ r/c5189e2b5db98b?account_id = 41178這是一個推介鏈接,所以如果你決定和他們一起去,我會得到一些功勞:)。 –