Redirect 使用查询字符串重定向/重写到不同的内部IIS站点

Redirect 使用查询字符串重定向/重写到不同的内部IIS站点,redirect,azure,iis,rewrite,Redirect,Azure,Iis,Rewrite,编辑:呃,我忘了将此设置为服务器故障 我有一个Azure VM,它正在托管一个web应用程序 可通过VM的IP地址访问该应用程序: http://191.238.112.62 我希望能够使用查询字符串重定向到本地IIS中的完全不同的站点。例如: http://191.238.112.62/?site=1 将重定向到 www.site1.com 我构建IIS的方式如下所示: 每个站点在系统主机文件中都有一个条目 127.0.0.1 wwww.site1.com 127.0.0.1 wwww

编辑:呃,我忘了将此设置为服务器故障

我有一个Azure VM,它正在托管一个web应用程序

可通过VM的IP地址访问该应用程序:

http://191.238.112.62
我希望能够使用查询字符串重定向到本地IIS中的完全不同的站点。例如:

http://191.238.112.62/?site=1
将重定向到

www.site1.com
我构建IIS的方式如下所示:

每个站点在系统主机文件中都有一个条目

127.0.0.1 wwww.site1.com
127.0.0.1 wwww.site2.com
127.0.0.1 wwww.site3.com
有可能有更好的方法来实现我在这里要做的,所以任何指点都将不胜感激


谢谢。

我会这样做的。不确定为什么要为此使用查询字符串,因为如果配置正确,IIS会这样做

在DNS服务器中,注册所有指向该IP的网站。这是为你去现场的时候准备的。对于开发来说,hosts文件是一个很好的解决方案

创建网站时,请添加主机标题,如下所示

现在,请尝试按网站全名加载任何网站

http://www.site1.com
http://www.site2.com
http://www.site3.com
是有关IIS主机头的详细信息

同样,当你上线时,确保你已经为所有网站设置了DNS,以指向你服务器的IP地址

希望这有帮助

根据评论进行编辑:

对,这是我过去解决这个问题的方法。 您可以使用hosts文件完成所有这些操作,但是如果您有一个合适的DNS服务器来解析这些名称,那么就不会那么痛苦了

基本思想是在本地机器上使用稍微不同的URL进行开发。 所有开发人员都将site1.com指向共享服务器的IP,并将site1.com.local指向127.0.0.1。因此,开发人员计算机上的主机文件类似于:

191.238.112.62 www.site1.com
127.0.0.1      www.site1.com.local
在所有开发机器上,您需要确保所有站点都有.local主机头


在共享服务器上,只需添加正确的主机头,而无需更改主机文件。实际上,更改服务器主机文件不是个好主意。

谢谢您的回复。我想我可能没有充分解释我的问题。每个站点都不会有自己的公共域。其目的是让个人开发者拥有自己的沙盒,而这些沙盒的中心入口点将是VM的IP地址。您的编辑效果很好-不确定我是如何忽略了这一点,请在此为我学习!现在更进一步,是否有可能设置开发人员可以使用的公共DNS?因此,这显然与主机文件的作用相同,但不需要手动更改和设置单个主机文件。这是可能的,但您需要购买所有域名、site1、site2等。一旦您拥有这些名称,您可以更改DNS条目以指向您的IP。另一个解决方案是只需购买顶级域名site.com,然后为您的每个站点(如sub1.site.com、sub2.site.com等)创建子域。一个不错的公共DNS解决方案是dnsimple这是一个推荐链接,因此如果您决定使用它们,我将获得一些积分:)。