我们有域名http://mysite.companyname.net指向 ASP.net MVC 站点。
我们的办公室和曼彻斯特数据中心的同一台服务器之间还有专用链路。
是否可以将属于 mysite.companyname.net 的任何 URL 重定向到http://mysite.companyname.net/maintenance.aspx。
然而,当我们通过它的内部机器名访问它时http://IIS-SERVER001它正常工作
这纯粹是为了我们可以测试我们部署的站点,但客户在我们测试时不能使用它。
另外,有时我们需要将所有英国客户重定向到某个网址,但允许德国客户通过,例如在英国银行假日。这怎么可能呢?
答案1
您可以使用IIS 重写模块关于你的第一个问题。
它允许您设置规则以根据包括主机名在内的各种因素来更改/阻止请求。
该模块的文档没问题,这里也有很多关于它的问题。
银行假日问题更加棘手,因为内置的 URL 重写规则无法处理这样的要求。
您可能能够为 URL 重写模块编写一个自定义重写提供程序,否则您必须将这样的逻辑添加到您自己的处理所有传入请求的 http 模块中。
问题是您不想在每次请求时都进行 IP 位置查找,因此您需要缓存它。
如果德国人总是去“
那么您可以针对网站的该部分制定不同的规则。