使用web.config

时间:2017-01-26 12:43:23

标签: iis url-rewriting web-config reverse-proxy

我正在帮助一个目前托管在IIS软件包上的网站的慈善机构,并且想要一个需要在Linux / Apache环境中托管的新网站。

由于在现有主机上设置电子邮件的方式,切换主机将是一个非常痛苦的选择。 IIS软件包和Linux软件包都在同一个网络托管公司(1& 1),他们的“框架重定向”选项不能正常工作,他们相当规范的DNS设置不允许创建指向第二个托管包。

因此,解决方案似乎是使用web.config重写规则从myoriginalsite.co.uk获取流量到mynewsite.co.uk,将标题留在显示原始URL的浏览器栏中。

我尝试过的代码如下: -

    <configuration>
      <system.webServer>
       <rewrite>
        <rules>
         <rule name="Proxy" >  
          <match url="(.*)" />  
          <conditions>  
           <add input="{CACHE_URL}" pattern="^(https?)://" />  
          </conditions>  
          <action type="Rewrite" url="{C:1}://mynewsite.co.uk/{R:1}" />  
         </rule>
        </rules> 
       </rewrite> 
      </system.webServer>
    </configuration>

这实际上与1&amp; 1帧重定向 - 所有流向myoriginalsite.co.uk的流量最终都在mynewsite.co.uk上,但没有添加任何路径/文件信息,即: -

myoriginalsite.co.uk/path/file.html

重写为: -

mynewsite.co.uk而不是mynewsite.co.uk/path/file.html

似乎{R:1}在匹配条件下没有正确出现,也许我需要一些不同的东西,例如url="^/(.*)",但我看过的所有反向代理配置帖子似乎都使用url="(.*)"所以我相信我不太明白这是如何运作的。

我错过了什么?

0 个答案:

没有答案