0

我想创建 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 并为特定站点上使用的每种语言添加重写规则的解决方案。

谢谢 !

4

1 回答 1

2
<rule name="Lang-Redirect">
    <match url="^(\w{2})\/?$" />
    <action type="Rewrite" url="{R:1}/index.aspx" />
</rule>

这应该允许您从请求中捕获语言标记并将其重写为您的自定义 http 处理程序。

于 2010-06-15T08:32:30.950 回答