当根目录包含重写时,为什么Azure Web App虚拟目录中的URL重写未被处理?

当根目录包含重写时,为什么Azure Web App虚拟目录中的URL重写未被处理?,azure,url-rewrite-module,virtual-directory,Azure,Url Rewrite Module,Virtual Directory,我在Azure Web应用程序中有两个虚拟目录,并确认它们作为应用程序目录正常工作 Web应用程序的根目录中除了一个Web.config文件外不包含任何内容,该文件具有两个重写规则,这些规则会导致子域指向如下所示的子文件夹: <rule name="App1 Subdomain Redirect to SubFolder"> <match url=".*" /> <conditions> <add input="{HTTP

我在Azure Web应用程序中有两个虚拟目录,并确认它们作为应用程序目录正常工作

Web应用程序的根目录中除了一个Web.config文件外不包含任何内容,该文件具有两个重写规则,这些规则会导致子域指向如下所示的子文件夹:

<rule name="App1 Subdomain Redirect to SubFolder">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^app1.myservice\.net$" />
    </conditions>
    <action type="Rewrite" url="/app1/{R:0}" />
</rule>   

<rule name="App2 Subdomain Redirect to SubFolder">
    <match url=".*" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^app2.myservice\.net$" />
    </conditions>
    <action type="Rewrite" url="/app2/{R:0}" />
</rule>

Zielu1的问题有点类似,但同样没有得到回应:

关于重写还有很多其他问题,主要是关于语法和如何让它们正常工作,但很少涉及规则的虚拟目录继承


谢谢您的帮助。

尝试匹配完整的子目录路径


尝试匹配完整的子目录路径



Juan,我在虚拟文件夹配置中尝试了你的建议,但没有成功。为了确保我输入的正确,我将它放在根文件夹配置中,它确实起了作用。Juan,我在虚拟文件夹配置中尝试了你的建议,但没有起作用。为了确保输入正确,我将它放在根文件夹配置中,它确实工作了。
<rule name="Add Extension">
    <match url=".*" negate="false" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{URL}" pattern="(.*)\.(.*)" negate="true" />
    </conditions>
    <action type="Rewrite" url="{R:0}.ashx" />
</rule>