2015-09-07 55 views
1

我试图从我的旧ISP重定向到我的天蓝色网站。我已经建立了必要的DNS记录。当我在Web App上使用子文件夹时,我需要在根web.config文件中设置重定向规则,以便从域名指向主站点的正确子文件夹。重定向工作,但重写不在Azure网络应用程序

当我有一个重定向规则时,它完美的工作。

  <rule name="Works" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="^mysite.com$" /> 
       </conditions> 
       <action type="Redirect" url="http://mysite.azurewebsites.net/mysub"/> 
      </rule>    

但是,当我改变为重写失败。我真的很想重写,因为我不希望用户在浏览器中看到url的更改。

  <rule name="Fails" stopProcessing="true"> 
       <match url=".*" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="^mysite.com$" /> 
       </conditions> 
       <action type="Rewrite" url="http://mysite.azurewebsites.net/mysub"/> 
      </rule>    

我得到以下信息:

The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. 

我在做什么错?

回答

1

你改写动作应该是一个相对路径,请参阅文档:

http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#Rewrite_action

A substitution string must always specify the URL path

+0

感谢的问题是,如果我让亲戚它是相对于我的旧网站,即<行动type =“Rewrite”url =“/ mysub”/>最终结果为mysite.com/mysub不存在 –

+1

如果您想将网站移至Azure并应用重写规则,我会建议您将DNS直接转发至yoursite .azurewebsites.net(在门户中配置)并在Azur的新网站中应用重写规则即 –

+0

如果您想发送到其他服务器,该怎么办?即:处理对特定路径的请求的不同Web应用程序/微服务?这是一个完全有效的方案(即:设置一个反向代理) – Marchy