繁体   English   中英

使用虚拟目录重写URL到Azure App Service中域的路径

[英]Rewrite URL for path to domain in Azure App Service using Virtual Directory

我已经设置了一个Azure应用服务以使用虚拟目录。 路径my-app.azurewebsites.net/api与网站wwwroot/api一起正常工作。

我在api.mydomain.commy-app.azurewebsites.net的CNAME记录也都很好。 我可以成功调用api.mydomain.com/api

但是我想使用子域而不是路径,将api.mydomain.com重写为api.mydomain.com/api

我在wwwroot目录中添加了一个web.config文件,如下所示

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无法响应,并且不再处理请求。 有没有更好的方法来实现这一目标,或者我需要修改重写?

经过几次尝试,我发现了错误。 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM