我已经设置了一个Azure App Service来使用虚拟目录。
路径my-app.azurewebsites.net/api
正在与网站wwwroot/api
一起正常运行。
我有一个api.mydomain.com
到my-app.azurewebsites.net
的CNAME记录,其效果也不错。我可以成功致电api.mydomain.com/api
。
但是,我想使用子域而不是路径,将api.mydomain.com
重写为api.mydomain.com/api
我在web.config
目录中添加了一个wwwroot
文件,现在看起来像是
wwwroot/
- api/
- web.config
的web.config:
<rewrite>
<rules>
<rule name="My redirection">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^api.mydomain.com$" />
</conditions>
<action type="Redirect" url="https://api.mydomain.com/api/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
重新启动后,App Service无法响应,不再提供请求。有没有更好的方法来实现这一点,还是我需要修改我的重写?
答案 0 :(得分:0)
经过几次尝试,我发现了这个错误。必须将Redirect
更改为Rewrite
。
<rewrite>
<rules>
<rule name="My redirection">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="api.mydomain.com$" />
</conditions>
<action type="Rewrite" url="api/{R:1}" />
</rule>
</rules>
</rewrite>