Asp.net IIS URL重写规则-子目录的默认文档

Asp.net IIS URL重写规则-子目录的默认文档,asp.net,iis-7,url-rewriting,url-rewrite-module,Asp.net,Iis 7,Url Rewriting,Url Rewrite Module,我想创建URL重写规则,该规则将为我的虚拟文件夹设置默认文档。像这样的事 www.domain.com/en/ -> www.domain.com/en/index.aspx www.domain.com/hr/ -> www.domain.com/hr/index.aspx www.domain.com/de/ -> www.domain.com/de/index.aspx 目录en、hr、de在web服务器上并不存在,它们只是本地http模块使用的站点中使用的语言的标记,

我想创建URL重写规则,该规则将为我的虚拟文件夹设置默认文档。像这样的事

www.domain.com/en/ -> www.domain.com/en/index.aspx
www.domain.com/hr/ -> www.domain.com/hr/index.aspx
www.domain.com/de/ -> www.domain.com/de/index.aspx
目录en、hr、de在web服务器上并不存在,它们只是本地http模块使用的站点中使用的语言的标记,该模块将使用查询参数重写路径

快速解决方案是为每个语言定义规则,如下所示:

<rewrite>
    <rewriteMaps>
        <rewriteMap name="Langs">
            <add key="/en" value="/en/index.aspx" />
            <add key="/hr" value="/hr/index.aspx" />
            <add key="/de" value="/de/index.aspx" />
        </rewriteMap>
    </rewriteMaps>
<rules>

但我真的希望解决方案不需要更改web.config并为特定站点上使用的每种语言添加重写规则

谢谢


<rule name="Lang-Redirect">
    <match url="^(\w{2})\/?$" />
    <action type="Rewrite" url="{R:1}/index.aspx" />
</rule>
这应该允许您从请求中捕获语言标记并将其重写到自定义http处理程序中